From 832330f9abe3e3a04894f65c8c718fee46e6dd9a Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Tue, 29 Aug 2023 16:11:27 -0500 Subject: meta-xilinx-standalone: Branch embeddedsw integration to 2024.1 Signed-off-by: Mark Hatle --- .../classes/xlnx-embeddedsw.bbclass | 2 ++ .../recipes-bsp/embeddedsw/fsbl-firmware_2024.1.bb | 11 +++++++ .../recipes-bsp/embeddedsw/plm-firmware_2024.1.bb | 29 ++++++++++++++++++ .../recipes-bsp/embeddedsw/pmu-firmware_2024.1.bb | 16 ++++++++++ .../recipes-bsp/embeddedsw/psm-firmware_2024.1.bb | 34 ++++++++++++++++++++++ 5 files changed, 92 insertions(+) create mode 100644 meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2024.1.bb create mode 100644 meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2024.1.bb create mode 100644 meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2024.1.bb create mode 100644 meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2024.1.bb diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 47b1e5dd..1d242550 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -5,10 +5,12 @@ REPO ??= "git://github.com/Xilinx/embeddedsw.git;protocol=https" ESW_BRANCH[2023.1] = "xlnx_rel_v2023.1" ESW_BRANCH[2023.2] = "xlnx_rel_v2023.2-next" +ESW_BRANCH[2024.1] = "xlnx_rel_v2023.2-next" BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[2023.1] = "e24fe92b5517ee447e560790e798cad792f53bab" ESW_REV[2023.2] = "8070822a60c8a6e869522e9febd72ed7b188358d" +ESW_REV[2024.1] = "8070822a60c8a6e869522e9febd72ed7b188358d" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2024.1.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2024.1.bb new file mode 100644 index 00000000..8816dc4d --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/fsbl-firmware_2024.1.bb @@ -0,0 +1,11 @@ +require fsbl-firmware.inc + +FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw" + +SRC_URI += " \ + file://makefile-skip-copy_bsp.sh.patch \ + file://fsbl-fixups.patch \ + " + +# This version does not build for zynq +COMPATIBLE_MACHINE:zynq = "none" diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2024.1.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2024.1.bb new file mode 100644 index 00000000..37861b75 --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/plm-firmware_2024.1.bb @@ -0,0 +1,29 @@ +require plm-firmware.inc + +# Separate build directories for versal and versal-net +SOC_DIR = "versal" +SOC_DIR:versal-net = "versal_net" +B = "${S}/lib/sw_apps/versal_plm/src/${SOC_DIR}" + +BSP_DIR ?= "${B}/../../misc/versal_plm_bsp" + +FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw" + +SRC_URI += " \ + file://makefile-skip-copy_bsp.sh.patch \ + file://0001-versal_fw-Fixup-core-makefiles.patch \ + " + +EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" + +do_configure() { + # manually do the copy_bsp step first, so as to be able to fix up use of + # mb-* commands + ${B}/../../misc/${SOC_DIR}/copy_bsp.sh +} + +do_compile() { + oe_runmake + + ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin +} diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2024.1.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2024.1.bb new file mode 100644 index 00000000..fe6deddc --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/pmu-firmware_2024.1.bb @@ -0,0 +1,16 @@ +require pmu-firmware.inc + +FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw" + +SRC_URI += " \ + file://makefile-skip-copy_bsp.sh.patch \ + file://0001-zynqmp_pmufw-Fixup-core-makefiles.patch \ + " + +EXTRA_COMPILER_FLAGS = "-ffunction-sections -fdata-sections -Wall -Wextra -Os -flto -ffat-lto-objects" + +do_compile() { + oe_runmake + + ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin +} diff --git a/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2024.1.bb b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2024.1.bb new file mode 100644 index 00000000..569c5a46 --- /dev/null +++ b/meta-xilinx-standalone/recipes-bsp/embeddedsw/psm-firmware_2024.1.bb @@ -0,0 +1,34 @@ +require psm-firmware.inc + +# Separate build directories for versal and versal-net +SOC_DIR = "versal" +SOC_DIR:versal-net = "versal_net" +B = "${S}/lib/sw_apps/versal_psmfw/src/${SOC_DIR}" + +BSP_DIR ?= "${B}/../../misc/versal_psmfw_bsp" + +FILESPATH .= ":${FILE_DIRNAME}/embeddedsw/2023.1:${FILE_DIRNAME}/embeddedsw" + +SRC_URI += " \ + file://makefile-skip-copy_bsp.sh.patch \ + file://0001-versal_fw-Fixup-core-makefiles.patch \ + " + +EXTRA_COMPILER_FLAGS = "-g -ffunction-sections -fdata-sections -Wall -Wextra" + +# Override default since we're in a subdirectory deeper now... +do_configure() { + # manually do the copy_bsp step first, so as to be able to fix up use of + # mb-* commands + if [ ${SOC_DIR} != "versal" ]; then + ${B}/../../misc/${SOC_DIR}/copy_bsp.sh + else + ${B}/../../misc/copy_bsp.sh + fi +} + +do_compile() { + oe_runmake + + ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin +} -- cgit v1.2.3-54-g00ecf From 7238de6b473fa87798a577f9b2557057cff5c0dc Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Tue, 29 Aug 2023 16:28:59 -0500 Subject: meta-xilinx-core: Move preferred versions to 2024.1 integration Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/layer.conf | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/meta-xilinx-core/conf/layer.conf b/meta-xilinx-core/conf/layer.conf index 5441fd96..51c3bd6d 100644 --- a/meta-xilinx-core/conf/layer.conf +++ b/meta-xilinx-core/conf/layer.conf @@ -42,12 +42,13 @@ SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ *->xserver-xorg \ " -XILINX_RELEASE_VERSION ??= "v2023.2" +XILINX_RELEASE_VERSION ??= "v2024.1" BUILDCFG_VARS:append = " SOC_VARIANT XILINX_RELEASE_VERSION" XILINX_QEMU_VERSION[v2023.1] = "v7.1.0-xilinx-v2023.1%" XILINX_QEMU_VERSION[v2023.2] = "v7.1.0-xilinx-v2023.2%" +XILINX_QEMU_VERSION[v2024.1] = "v7.1.0-xilinx-v2024.1%" PREFERRED_VERSION_qemu-xilinx ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" PREFERRED_VERSION_qemu-xilinx-native ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" PREFERRED_VERSION_qemu-xilinx-system-native ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" @@ -55,16 +56,19 @@ PREFERRED_VERSION_qemu-devicetrees ?= "xilinx-${XILINX_RELEASE_VERSION}%" XILINX_ATF_VERSION[v2023.1] = "2.8-xilinx-v2023.1%" XILINX_ATF_VERSION[v2023.2] = "2.8-xilinx-v2023.2%" +XILINX_ATF_VERSION[v2024.1] = "2.8-xilinx-v2024.1%" PREFERRED_VERSION_arm-trusted-firmware ?= "${@d.getVarFlag('XILINX_ATF_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" XILINX_UBOOT_VERSION[v2023.1] = "v2023.01-xilinx-v2023.1%" XILINX_UBOOT_VERSION[v2023.2] = "v2023.01-xilinx-v2023.2%" +XILINX_UBOOT_VERSION[v2024.1] = "v2023.01-xilinx-v2024.1%" PREFERRED_VERSION_u-boot-xlnx ?= "${@d.getVarFlag('XILINX_UBOOT_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" PREFERRED_VERSION_u-boot-tools-xlnx ?= "${@d.getVarFlag('XILINX_UBOOT_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" XILINX_LINUX_VERSION[v2023.1] = "6.1.5-xilinx-v2023.1%" XILINX_LINUX_VERSION[v2023.2] = "6.1.30-xilinx-v2023.2%" +XILINX_LINUX_VERSION[v2024.1] = "6.1.30-xilinx-v2024.1%" PREFERRED_VERSION_linux-xlnx ?= "${@d.getVarFlag('XILINX_LINUX_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" # Add support to eSDK for gen-machine-conf if it exists -- cgit v1.2.3-54-g00ecf From 9bad24f1a6dd55df29f5d068c79aed4b6df56333 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Tue, 29 Aug 2023 16:12:54 -0500 Subject: linux-xlnx: Branch to 2024.1 Signed-off-by: Mark Hatle --- ...rm-xilinx-Add-encoder-for-Digilent-boards.patch | 305 +++++++++++ ...002-clk-Add-driver-for-axi_dynclk-IP-Core.patch | 607 +++++++++++++++++++++ ...0003-drm-xilinx-Fix-DPMS-transition-to-on.patch | 54 ++ .../v2024.1/0004-minized-wifi-bluetooth.cfg | 33 ++ .../linux/linux-xlnx_2024.1.bbappend | 12 + .../recipes-kernel/linux/linux-xlnx_2024.1.bb | 11 + 6 files changed, 1022 insertions(+) create mode 100644 meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2024.1/0001-drm-xilinx-Add-encoder-for-Digilent-boards.patch create mode 100644 meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2024.1/0002-clk-Add-driver-for-axi_dynclk-IP-Core.patch create mode 100644 meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2024.1/0003-drm-xilinx-Fix-DPMS-transition-to-on.patch create mode 100644 meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2024.1/0004-minized-wifi-bluetooth.cfg create mode 100644 meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx_2024.1.bbappend create mode 100644 meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb diff --git a/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2024.1/0001-drm-xilinx-Add-encoder-for-Digilent-boards.patch b/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2024.1/0001-drm-xilinx-Add-encoder-for-Digilent-boards.patch new file mode 100644 index 00000000..660bc218 --- /dev/null +++ b/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2024.1/0001-drm-xilinx-Add-encoder-for-Digilent-boards.patch @@ -0,0 +1,305 @@ +From 21cc8144efdaa3cd8dbd7279f87b14fa3432fae4 Mon Sep 17 00:00:00 2001 +From: Jason Wu +Date: Sun, 10 Apr 2016 13:14:13 +1000 +Subject: [PATCH 1/3] drm: xilinx: Add encoder for Digilent boards + +Add the dglnt_encoder driver that enables DRM support for the VGA and +HDMI output ports found on many Digilent boards. + +Upstream-Status: Pending + +Signed-off-by: Sam Bobrowicz +Signed-off-by: Jason Wu +--- + .../bindings/drm/xilinx/dglnt_encoder.txt | 23 +++ + drivers/gpu/drm/xilinx/Kconfig | 6 + + drivers/gpu/drm/xilinx/Makefile | 1 + + drivers/gpu/drm/xilinx/dglnt_encoder.c | 217 +++++++++++++++++++++ + 4 files changed, 247 insertions(+) + create mode 100644 Documentation/devicetree/bindings/drm/xilinx/dglnt_encoder.txt + create mode 100644 drivers/gpu/drm/xilinx/dglnt_encoder.c + +diff --git a/Documentation/devicetree/bindings/drm/xilinx/dglnt_encoder.txt b/Documentation/devicetree/bindings/drm/xilinx/dglnt_encoder.txt +new file mode 100644 +index 0000000..242b24e +--- /dev/null ++++ b/Documentation/devicetree/bindings/drm/xilinx/dglnt_encoder.txt +@@ -0,0 +1,23 @@ ++Device-Tree bindings for Digilent DRM Encoder Slave ++ ++This driver provides support for VGA and HDMI outputs on Digilent FPGA boards. ++The VGA or HDMI port must be connected to a Xilinx display pipeline via an ++axi2vid IP core. ++ ++Required properties: ++ - compatible: Should be "digilent,drm-encoder". ++ ++Optional properties: ++ - dglnt,edid-i2c: The I2C device connected to the DDC bus on the video ++ connector. This is used to obtain the supported resolutions ++ of an attached monitor. If not defined, then a default ++ set of resolutions is used and the display will initialize ++ to 720p. Note most VGA connectors on Digilent boards do ++ not have the DDC bus routed out. ++ ++Example: ++ ++ encoder_0: digilent_encoder { ++ compatible = "digilent,drm-encoder"; ++ dglnt,edid-i2c = <&i2c1>; ++ }; +diff --git a/drivers/gpu/drm/xilinx/Kconfig b/drivers/gpu/drm/xilinx/Kconfig +index 57e18a9..d9ecff2 100644 +--- a/drivers/gpu/drm/xilinx/Kconfig ++++ b/drivers/gpu/drm/xilinx/Kconfig +@@ -33,6 +33,12 @@ config DRM_XILINX_DP_SUB + help + DRM driver for Xilinx Display Port Subsystem. + ++config DRM_DIGILENT_ENCODER ++ tristate "Digilent VGA/HDMI DRM Encoder Driver" ++ depends on DRM_XILINX ++ help ++ DRM slave encoder for Video-out on Digilent boards. ++ + config DRM_XILINX_DP_SUB_DEBUG_FS + bool "Xilinx DRM DPSUB debugfs" + depends on DEBUG_FS && DRM_XILINX_DP_SUB +diff --git a/drivers/gpu/drm/xilinx/Makefile b/drivers/gpu/drm/xilinx/Makefile +index 19bc154..c2717e40 100644 +--- a/drivers/gpu/drm/xilinx/Makefile ++++ b/drivers/gpu/drm/xilinx/Makefile +@@ -7,6 +7,7 @@ xilinx_drm-y := xilinx_drm_crtc.o xilinx_drm_connector.o xilinx_drm_drv.o \ + xilinx_drm_plane.o + xilinx_drm-y += xilinx_cresample.o xilinx_osd.o xilinx_rgb2yuv.o xilinx_vtc.o + ++obj-$(CONFIG_DRM_DIGILENT_ENCODER) += dglnt_encoder.o + obj-$(CONFIG_DRM_XILINX) += xilinx_drm.o + obj-$(CONFIG_DRM_XILINX_DP) += xilinx_drm_dp.o + obj-$(CONFIG_DRM_XILINX_DP_SUB) += xilinx_drm_dp_sub.o +diff --git a/drivers/gpu/drm/xilinx/dglnt_encoder.c b/drivers/gpu/drm/xilinx/dglnt_encoder.c +new file mode 100644 +index 0000000..cb9fc7d +--- /dev/null ++++ b/drivers/gpu/drm/xilinx/dglnt_encoder.c +@@ -0,0 +1,217 @@ ++/* ++ * dglnt_encoder.c - DRM slave encoder for Video-out on Digilent boards ++ * ++ * Copyright (C) 2015 Digilent ++ * Author: Sam Bobrowicz ++ * ++ * Based on udl_encoder.c and udl_connector.c, Copyright (C) 2012 Red Hat. ++ * Also based on xilinx_drm_dp.c, Copyright (C) 2014 Xilinx, Inc. ++ * ++ * This software is licensed under the terms of the GNU General Public ++ * License version 2, as published by the Free Software Foundation, and ++ * may be copied, distributed, and modified under those terms. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ */ ++ ++#include ++#include ++#include ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#define DGLNT_ENC_MAX_FREQ 150000 ++#define DGLNT_ENC_MAX_H 1920 ++#define DGLNT_ENC_MAX_V 1080 ++#define DGLNT_ENC_PREF_H 1280 ++#define DGLNT_ENC_PREF_V 720 ++ ++struct dglnt_encoder { ++ struct drm_encoder *encoder; ++ struct i2c_adapter *i2c_bus; ++ bool i2c_present; ++}; ++ ++static inline struct dglnt_encoder *to_dglnt_encoder( ++ struct drm_encoder *encoder) ++{ ++ return to_encoder_slave(encoder)->slave_priv; ++} ++ ++static bool dglnt_mode_fixup(struct drm_encoder *encoder, ++ const struct drm_display_mode *mode, ++ struct drm_display_mode *adjusted_mode) ++{ ++ return true; ++} ++ ++static void dglnt_encoder_mode_set(struct drm_encoder *encoder, ++ struct drm_display_mode *mode, ++ struct drm_display_mode *adjusted_mode) ++{ ++} ++ ++static void ++dglnt_encoder_dpms(struct drm_encoder *encoder, int mode) ++{ ++} ++ ++static void dglnt_encoder_save(struct drm_encoder *encoder) ++{ ++} ++ ++static void dglnt_encoder_restore(struct drm_encoder *encoder) ++{ ++} ++ ++static int dglnt_encoder_mode_valid(struct drm_encoder *encoder, ++ struct drm_display_mode *mode) ++{ ++ if (mode && ++ !(mode->flags & ((DRM_MODE_FLAG_INTERLACE | ++ DRM_MODE_FLAG_DBLCLK) | DRM_MODE_FLAG_3D_MASK)) && ++ (mode->clock <= DGLNT_ENC_MAX_FREQ) && ++ (mode->hdisplay <= DGLNT_ENC_MAX_H) && ++ (mode->vdisplay <= DGLNT_ENC_MAX_V)) ++ return MODE_OK; ++ return MODE_BAD; ++} ++ ++static int dglnt_encoder_get_modes(struct drm_encoder *encoder, ++ struct drm_connector *connector) ++{ ++ struct dglnt_encoder *dglnt = to_dglnt_encoder(encoder); ++ struct edid *edid; ++ int num_modes = 0; ++ ++ if (dglnt->i2c_present) { ++ edid = drm_get_edid(connector, dglnt->i2c_bus); ++ drm_connector_update_edid_property(connector, edid); ++ if (edid) { ++ num_modes = drm_add_edid_modes(connector, edid); ++ kfree(edid); ++ } ++ } else { ++ num_modes = drm_add_modes_noedid(connector, DGLNT_ENC_MAX_H, ++ DGLNT_ENC_MAX_V); ++ drm_set_preferred_mode(connector, DGLNT_ENC_PREF_H, ++ DGLNT_ENC_PREF_V); ++ } ++ return num_modes; ++} ++ ++static enum drm_connector_status dglnt_encoder_detect( ++ struct drm_encoder *encoder, ++ struct drm_connector *connector) ++{ ++ struct dglnt_encoder *dglnt = to_dglnt_encoder(encoder); ++ ++ if (dglnt->i2c_present) { ++ if (drm_probe_ddc(dglnt->i2c_bus)) ++ return connector_status_connected; ++ return connector_status_disconnected; ++ } else ++ return connector_status_unknown; ++} ++ ++static struct drm_encoder_slave_funcs dglnt_encoder_slave_funcs = { ++ .dpms = dglnt_encoder_dpms, ++ .save = dglnt_encoder_save, ++ .restore = dglnt_encoder_restore, ++ .mode_fixup = dglnt_mode_fixup, ++ .mode_valid = dglnt_encoder_mode_valid, ++ .mode_set = dglnt_encoder_mode_set, ++ .detect = dglnt_encoder_detect, ++ .get_modes = dglnt_encoder_get_modes, ++}; ++ ++static int dglnt_encoder_encoder_init(struct platform_device *pdev, ++ struct drm_device *dev, ++ struct drm_encoder_slave *encoder) ++{ ++ struct dglnt_encoder *dglnt = platform_get_drvdata(pdev); ++ struct device_node *sub_node; ++ ++ encoder->slave_priv = dglnt; ++ encoder->slave_funcs = &dglnt_encoder_slave_funcs; ++ ++ dglnt->encoder = &encoder->base; ++ ++ /* get i2c adapter for edid */ ++ dglnt->i2c_present = false; ++ sub_node = of_parse_phandle(pdev->dev.of_node, "dglnt,edid-i2c", 0); ++ if (sub_node) { ++ dglnt->i2c_bus = of_find_i2c_adapter_by_node(sub_node); ++ if (!dglnt->i2c_bus) ++ DRM_INFO("failed to get the edid i2c adapter, using default modes\n"); ++ else ++ dglnt->i2c_present = true; ++ of_node_put(sub_node); ++ } ++ ++ return 0; ++} ++ ++static int dglnt_encoder_probe(struct platform_device *pdev) ++{ ++ struct dglnt_encoder *dglnt; ++ ++ dglnt = devm_kzalloc(&pdev->dev, sizeof(*dglnt), GFP_KERNEL); ++ if (!dglnt) ++ return -ENOMEM; ++ ++ platform_set_drvdata(pdev, dglnt); ++ ++ return 0; ++} ++ ++static int dglnt_encoder_remove(struct platform_device *pdev) ++{ ++ return 0; ++} ++ ++static const struct of_device_id dglnt_encoder_of_match[] = { ++ { .compatible = "digilent,drm-encoder", }, ++ { /* end of table */ }, ++}; ++MODULE_DEVICE_TABLE(of, dglnt_encoder_of_match); ++ ++static struct drm_platform_encoder_driver dglnt_encoder_driver = { ++ .platform_driver = { ++ .probe = dglnt_encoder_probe, ++ .remove = dglnt_encoder_remove, ++ .driver = { ++ .owner = THIS_MODULE, ++ .name = "dglnt-drm-enc", ++ .of_match_table = dglnt_encoder_of_match, ++ }, ++ }, ++ ++ .encoder_init = dglnt_encoder_encoder_init, ++}; ++ ++static int __init dglnt_encoder_init(void) ++{ ++ return platform_driver_register(&dglnt_encoder_driver.platform_driver); ++} ++ ++static void __exit dglnt_encoder_exit(void) ++{ ++ platform_driver_unregister(&dglnt_encoder_driver.platform_driver); ++} ++ ++module_init(dglnt_encoder_init); ++module_exit(dglnt_encoder_exit); ++ ++MODULE_AUTHOR("Digilent, Inc."); ++MODULE_DESCRIPTION("DRM slave encoder for Video-out on Digilent boards"); ++MODULE_LICENSE("GPL v2"); +-- +2.7.4 + diff --git a/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2024.1/0002-clk-Add-driver-for-axi_dynclk-IP-Core.patch b/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2024.1/0002-clk-Add-driver-for-axi_dynclk-IP-Core.patch new file mode 100644 index 00000000..9b6229db --- /dev/null +++ b/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2024.1/0002-clk-Add-driver-for-axi_dynclk-IP-Core.patch @@ -0,0 +1,607 @@ +From 217e3b6f4393926b8dcad841381527ef3fc808c2 Mon Sep 17 00:00:00 2001 +From: Jason Wu +Date: Sun, 10 Apr 2016 13:16:06 +1000 +Subject: [PATCH 2/3] clk: Add driver for axi_dynclk IP Core + +Add support for the axi_dynclk IP Core available from Digilent. This IP +core dynamically configures the clock resources inside a Xilinx FPGA to +generate a clock with a software programmable frequency. + +Upstream-Status: Pending + +Signed-off-by: Sam Bobrowicz +Signed-off-by: Jason Wu +--- + drivers/clk/Kconfig | 8 + + drivers/clk/Makefile | 1 + + drivers/clk/clk-dglnt-dynclk.c | 547 +++++++++++++++++++++++++++++++++++++++++ + 3 files changed, 556 insertions(+) + create mode 100644 drivers/clk/clk-dglnt-dynclk.c + +diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig +index dccb111100..7fe65a702b 100644 +--- a/drivers/clk/Kconfig ++++ b/drivers/clk/Kconfig +@@ -148,6 +148,14 @@ config CLK_QORIQ + This adds the clock driver support for Freescale QorIQ platforms + using common clock framework. + ++config COMMON_CLK_DGLNT_DYNCLK ++ tristate "Digilent axi_dynclk Driver" ++ depends on ARCH_ZYNQ || MICROBLAZE ++ help ++ ---help--- ++ Support for the Digilent AXI Dynamic Clock core for Xilinx ++ FPGAs. ++ + config COMMON_CLK_XGENE + bool "Clock driver for APM XGene SoC" + default y +diff --git a/drivers/clk/Makefile b/drivers/clk/Makefile +index 0760449dde..45ce97d053 100644 +--- a/drivers/clk/Makefile ++++ b/drivers/clk/Makefile +@@ -24,6 +24,7 @@ obj-$(CONFIG_COMMON_CLK_CDCE706) += clk-cdce706.o + obj-$(CONFIG_COMMON_CLK_CDCE925) += clk-cdce925.o + obj-$(CONFIG_ARCH_CLPS711X) += clk-clps711x.o + obj-$(CONFIG_COMMON_CLK_CS2000_CP) += clk-cs2000-cp.o ++obj-$(CONFIG_COMMON_CLK_DGLNT_DYNCLK) += clk-dglnt-dynclk.o + obj-$(CONFIG_ARCH_EFM32) += clk-efm32gg.o + obj-$(CONFIG_ARCH_HIGHBANK) += clk-highbank.o + obj-$(CONFIG_COMMON_CLK_MAX77686) += clk-max77686.o +diff --git a/drivers/clk/clk-dglnt-dynclk.c b/drivers/clk/clk-dglnt-dynclk.c +new file mode 100644 +index 0000000000..496ad5fc90 +--- /dev/null ++++ b/drivers/clk/clk-dglnt-dynclk.c +@@ -0,0 +1,547 @@ ++/* ++ * clk-dglnt-dynclk.c - Digilent AXI Dynamic Clock (axi_dynclk) Driver ++ * ++ * Copyright (C) 2015 Digilent ++ * Author: Sam Bobrowicz ++ * ++ * Reused code from clk-axi-clkgen.c, Copyright (C) 2012-2013 Analog Devices Inc. ++ * ++ * This software is licensed under the terms of the GNU General Public ++ * License version 2, as published by the Free Software Foundation, and ++ * may be copied, distributed, and modified under those terms. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++#include ++ ++#define CLK_BIT_WEDGE 13 ++#define CLK_BIT_NOCOUNT 12 ++ ++/* This value is used to signal an error */ ++#define ERR_CLKCOUNTCALC 0xFFFFFFFF ++#define ERR_CLKDIVIDER (1 << CLK_BIT_WEDGE | 1 << CLK_BIT_NOCOUNT) ++ ++#define DYNCLK_DIV_1_REGMASK 0x1041 ++/* 25 MHz (125 KHz / 5) */ ++#define DYNCLK_DEFAULT_FREQ 125000 ++ ++#define MMCM_FREQ_VCOMIN 600000 ++#define MMCM_FREQ_VCOMAX 1200000 ++#define MMCM_FREQ_PFDMIN 10000 ++#define MMCM_FREQ_PFDMAX 450000 ++#define MMCM_FREQ_OUTMIN 4000 ++#define MMCM_FREQ_OUTMAX 800000 ++#define MMCM_DIV_MAX 106 ++#define MMCM_FB_MIN 2 ++#define MMCM_FB_MAX 64 ++#define MMCM_CLKDIV_MAX 128 ++#define MMCM_CLKDIV_MIN 1 ++ ++#define OFST_DISPLAY_CTRL 0x0 ++#define OFST_DISPLAY_STATUS 0x4 ++#define OFST_DISPLAY_CLK_L 0x8 ++#define OFST_DISPLAY_FB_L 0x0C ++#define OFST_DISPLAY_FB_H_CLK_H 0x10 ++#define OFST_DISPLAY_DIV 0x14 ++#define OFST_DISPLAY_LOCK_L 0x18 ++#define OFST_DISPLAY_FLTR_LOCK_H 0x1C ++ ++static const u64 lock_lookup[64] = { ++ 0b0011000110111110100011111010010000000001, ++ 0b0011000110111110100011111010010000000001, ++ 0b0100001000111110100011111010010000000001, ++ 0b0101101011111110100011111010010000000001, ++ 0b0111001110111110100011111010010000000001, ++ 0b1000110001111110100011111010010000000001, ++ 0b1001110011111110100011111010010000000001, ++ 0b1011010110111110100011111010010000000001, ++ 0b1100111001111110100011111010010000000001, ++ 0b1110011100111110100011111010010000000001, ++ 0b1111111111111000010011111010010000000001, ++ 0b1111111111110011100111111010010000000001, ++ 0b1111111111101110111011111010010000000001, ++ 0b1111111111101011110011111010010000000001, ++ 0b1111111111101000101011111010010000000001, ++ 0b1111111111100111000111111010010000000001, ++ 0b1111111111100011111111111010010000000001, ++ 0b1111111111100010011011111010010000000001, ++ 0b1111111111100000110111111010010000000001, ++ 0b1111111111011111010011111010010000000001, ++ 0b1111111111011101101111111010010000000001, ++ 0b1111111111011100001011111010010000000001, ++ 0b1111111111011010100111111010010000000001, ++ 0b1111111111011001000011111010010000000001, ++ 0b1111111111011001000011111010010000000001, ++ 0b1111111111010111011111111010010000000001, ++ 0b1111111111010101111011111010010000000001, ++ 0b1111111111010101111011111010010000000001, ++ 0b1111111111010100010111111010010000000001, ++ 0b1111111111010100010111111010010000000001, ++ 0b1111111111010010110011111010010000000001, ++ 0b1111111111010010110011111010010000000001, ++ 0b1111111111010010110011111010010000000001, ++ 0b1111111111010001001111111010010000000001, ++ 0b1111111111010001001111111010010000000001, ++ 0b1111111111010001001111111010010000000001, ++ 0b1111111111001111101011111010010000000001, ++ 0b1111111111001111101011111010010000000001, ++ 0b1111111111001111101011111010010000000001, ++ 0b1111111111001111101011111010010000000001, ++ 0b1111111111001111101011111010010000000001, ++ 0b1111111111001111101011111010010000000001, ++ 0b1111111111001111101011111010010000000001, ++ 0b1111111111001111101011111010010000000001, ++ 0b1111111111001111101011111010010000000001, ++ 0b1111111111001111101011111010010000000001, ++ 0b1111111111001111101011111010010000000001, ++ 0b1111111111001111101011111010010000000001, ++ 0b1111111111001111101011111010010000000001, ++ 0b1111111111001111101011111010010000000001, ++ 0b1111111111001111101011111010010000000001, ++ 0b1111111111001111101011111010010000000001, ++ 0b1111111111001111101011111010010000000001, ++ 0b1111111111001111101011111010010000000001, ++ 0b1111111111001111101011111010010000000001, ++ 0b1111111111001111101011111010010000000001, ++ 0b1111111111001111101011111010010000000001, ++ 0b1111111111001111101011111010010000000001, ++ 0b1111111111001111101011111010010000000001, ++ 0b1111111111001111101011111010010000000001, ++ 0b1111111111001111101011111010010000000001, ++ 0b1111111111001111101011111010010000000001, ++ 0b1111111111001111101011111010010000000001, ++ 0b1111111111001111101011111010010000000001 ++}; ++ ++static const u32 filter_lookup_low[64] = { ++ 0b0001011111, ++ 0b0001010111, ++ 0b0001111011, ++ 0b0001011011, ++ 0b0001101011, ++ 0b0001110011, ++ 0b0001110011, ++ 0b0001110011, ++ 0b0001110011, ++ 0b0001001011, ++ 0b0001001011, ++ 0b0001001011, ++ 0b0010110011, ++ 0b0001010011, ++ 0b0001010011, ++ 0b0001010011, ++ 0b0001010011, ++ 0b0001010011, ++ 0b0001010011, ++ 0b0001010011, ++ 0b0001010011, ++ 0b0001010011, ++ 0b0001010011, ++ 0b0001100011, ++ 0b0001100011, ++ 0b0001100011, ++ 0b0001100011, ++ 0b0001100011, ++ 0b0001100011, ++ 0b0001100011, ++ 0b0001100011, ++ 0b0001100011, ++ 0b0001100011, ++ 0b0001100011, ++ 0b0001100011, ++ 0b0001100011, ++ 0b0001100011, ++ 0b0010010011, ++ 0b0010010011, ++ 0b0010010011, ++ 0b0010010011, ++ 0b0010010011, ++ 0b0010010011, ++ 0b0010010011, ++ 0b0010010011, ++ 0b0010010011, ++ 0b0010010011, ++ 0b0010100011, ++ 0b0010100011, ++ 0b0010100011, ++ 0b0010100011, ++ 0b0010100011, ++ 0b0010100011, ++ 0b0010100011, ++ 0b0010100011, ++ 0b0010100011, ++ 0b0010100011, ++ 0b0010100011, ++ 0b0010100011, ++ 0b0010100011, ++ 0b0010100011, ++ 0b0010100011, ++ 0b0010100011, ++ 0b0010100011 ++}; ++ ++struct dglnt_dynclk_reg; ++struct dglnt_dynclk_mode; ++struct dglnt_dynclk; ++ ++struct dglnt_dynclk_reg { ++ u32 clk0L; ++ u32 clkFBL; ++ u32 clkFBH_clk0H; ++ u32 divclk; ++ u32 lockL; ++ u32 fltr_lockH; ++}; ++ ++struct dglnt_dynclk_mode { ++ u32 freq; ++ u32 fbmult; ++ u32 clkdiv; ++ u32 maindiv; ++}; ++ ++struct dglnt_dynclk { ++ void __iomem *base; ++ struct clk_hw clk_hw; ++ unsigned long freq; ++}; ++ ++u32 dglnt_dynclk_divider(u32 divide) ++{ ++ u32 output = 0; ++ u32 highTime = 0; ++ u32 lowTime = 0; ++ ++ if ((divide < 1) || (divide > 128)) ++ return ERR_CLKDIVIDER; ++ ++ if (divide == 1) ++ return DYNCLK_DIV_1_REGMASK; ++ ++ highTime = divide / 2; ++ /* if divide is odd */ ++ if (divide & 0x1) { ++ lowTime = highTime + 1; ++ output = 1 << CLK_BIT_WEDGE; ++ } else { ++ lowTime = highTime; ++ } ++ ++ output |= 0x03F & lowTime; ++ output |= 0xFC0 & (highTime << 6); ++ return output; ++} ++ ++u32 dglnt_dynclk_count_calc(u32 divide) ++{ ++ u32 output = 0; ++ u32 divCalc = 0; ++ ++ divCalc = dglnt_dynclk_divider(divide); ++ if (divCalc == ERR_CLKDIVIDER) ++ output = ERR_CLKCOUNTCALC; ++ else ++ output = (0xFFF & divCalc) | ((divCalc << 10) & 0x00C00000); ++ return output; ++} ++ ++ ++int dglnt_dynclk_find_reg(struct dglnt_dynclk_reg *regValues, ++ struct dglnt_dynclk_mode *clkParams) ++{ ++ if ((clkParams->fbmult < 2) || clkParams->fbmult > 64) ++ return -EINVAL; ++ ++ regValues->clk0L = dglnt_dynclk_count_calc(clkParams->clkdiv); ++ if (regValues->clk0L == ERR_CLKCOUNTCALC) ++ return -EINVAL; ++ ++ regValues->clkFBL = dglnt_dynclk_count_calc(clkParams->fbmult); ++ if (regValues->clkFBL == ERR_CLKCOUNTCALC) ++ return -EINVAL; ++ ++ regValues->clkFBH_clk0H = 0; ++ ++ regValues->divclk = dglnt_dynclk_divider(clkParams->maindiv); ++ if (regValues->divclk == ERR_CLKDIVIDER) ++ return -EINVAL; ++ ++ regValues->lockL = (u32)(lock_lookup[clkParams->fbmult - 1] & ++ 0xFFFFFFFF); ++ ++ regValues->fltr_lockH = (u32)((lock_lookup[clkParams->fbmult - 1] >> ++ 32) & 0x000000FF); ++ regValues->fltr_lockH |= ((filter_lookup_low[clkParams->fbmult - 1] << ++ 16) & 0x03FF0000); ++ ++ return 0; ++} ++ ++void dglnt_dynclk_write_reg(struct dglnt_dynclk_reg *regValues, ++ void __iomem *baseaddr) ++{ ++ writel(regValues->clk0L, baseaddr + OFST_DISPLAY_CLK_L); ++ writel(regValues->clkFBL, baseaddr + OFST_DISPLAY_FB_L); ++ writel(regValues->clkFBH_clk0H, baseaddr + OFST_DISPLAY_FB_H_CLK_H); ++ writel(regValues->divclk, baseaddr + OFST_DISPLAY_DIV); ++ writel(regValues->lockL, baseaddr + OFST_DISPLAY_LOCK_L); ++ writel(regValues->fltr_lockH, baseaddr + OFST_DISPLAY_FLTR_LOCK_H); ++} ++ ++u32 dglnt_dynclk_find_mode(u32 freq, u32 parentFreq, ++ struct dglnt_dynclk_mode *bestPick) ++{ ++ u32 bestError = MMCM_FREQ_OUTMAX; ++ u32 curError; ++ u32 curClkMult; ++ u32 curFreq; ++ u32 divVal; ++ u32 curFb, curClkDiv; ++ u32 minFb = 0; ++ u32 maxFb = 0; ++ u32 curDiv = 1; ++ u32 maxDiv; ++ bool freq_found = false; ++ ++ bestPick->freq = 0; ++ if (parentFreq == 0) ++ return 0; ++ ++ /* minimum frequency is actually dictated by VCOmin */ ++ if (freq < MMCM_FREQ_OUTMIN) ++ freq = MMCM_FREQ_OUTMIN; ++ if (freq > MMCM_FREQ_OUTMAX) ++ freq = MMCM_FREQ_OUTMAX; ++ ++ if (parentFreq > MMCM_FREQ_PFDMAX) ++ curDiv = 2; ++ maxDiv = parentFreq / MMCM_FREQ_PFDMIN; ++ if (maxDiv > MMCM_DIV_MAX) ++ maxDiv = MMCM_DIV_MAX; ++ ++ while (curDiv <= maxDiv && !freq_found) { ++ minFb = curDiv * DIV_ROUND_UP(MMCM_FREQ_VCOMIN, parentFreq); ++ maxFb = curDiv * (MMCM_FREQ_VCOMAX / parentFreq); ++ if (maxFb > MMCM_FB_MAX) ++ maxFb = MMCM_FB_MAX; ++ if (minFb < MMCM_FB_MIN) ++ minFb = MMCM_FB_MIN; ++ ++ divVal = curDiv * freq; ++ /* ++ * This multiplier is used to find the best clkDiv value for ++ * each FB value ++ */ ++ curClkMult = ((parentFreq * 1000) + (divVal / 2)) / divVal; ++ ++ curFb = minFb; ++ while (curFb <= maxFb && !freq_found) { ++ curClkDiv = ((curClkMult * curFb) + 500) / 1000; ++ if (curClkDiv > MMCM_CLKDIV_MAX) ++ curClkDiv = MMCM_CLKDIV_MAX; ++ if (curClkDiv < MMCM_CLKDIV_MIN) ++ curClkDiv = MMCM_CLKDIV_MIN; ++ curFreq = (((parentFreq * curFb) / curDiv) / curClkDiv); ++ if (curFreq >= freq) ++ curError = curFreq - freq; ++ else ++ curError = freq - curFreq; ++ if (curError < bestError) { ++ bestError = curError; ++ bestPick->clkdiv = curClkDiv; ++ bestPick->fbmult = curFb; ++ bestPick->maindiv = curDiv; ++ bestPick->freq = curFreq; ++ } ++ if (!curError) ++ freq_found = true; ++ curFb++; ++ } ++ curDiv++; ++ } ++ return bestPick->freq; ++} ++ ++static struct dglnt_dynclk *clk_hw_to_dglnt_dynclk(struct clk_hw *clk_hw) ++{ ++ return container_of(clk_hw, struct dglnt_dynclk, clk_hw); ++} ++ ++ ++static int dglnt_dynclk_enable(struct clk_hw *clk_hw) ++{ ++ struct dglnt_dynclk *dglnt_dynclk = clk_hw_to_dglnt_dynclk(clk_hw); ++ unsigned int clock_state; ++ ++ if (dglnt_dynclk->freq) { ++ writel(1, dglnt_dynclk->base + OFST_DISPLAY_CTRL); ++ do { ++ clock_state = readl(dglnt_dynclk->base + ++ OFST_DISPLAY_STATUS); ++ } while (!clock_state); ++ } ++ return 0; ++} ++ ++static void dglnt_dynclk_disable(struct clk_hw *clk_hw) ++{ ++ struct dglnt_dynclk *dglnt_dynclk = clk_hw_to_dglnt_dynclk(clk_hw); ++ ++ writel(0, dglnt_dynclk->base + OFST_DISPLAY_CTRL); ++} ++ ++static int dglnt_dynclk_set_rate(struct clk_hw *clk_hw, ++ unsigned long rate, unsigned long parent_rate) ++{ ++ struct dglnt_dynclk *dglnt_dynclk = clk_hw_to_dglnt_dynclk(clk_hw); ++ struct dglnt_dynclk_reg clkReg; ++ struct dglnt_dynclk_mode clkMode; ++ ++ if (parent_rate == 0 || rate == 0) ++ return -EINVAL; ++ if (rate == dglnt_dynclk->freq) ++ return 0; ++ ++ /* ++ * Convert from Hz to KHz, then multiply by five to account for ++ * BUFR division ++ */ ++ rate = (rate + 100) / 200; ++ /* convert from Hz to KHz */ ++ parent_rate = (parent_rate + 500) / 1000; ++ if (!dglnt_dynclk_find_mode(rate, parent_rate, &clkMode)) ++ return -EINVAL; ++ ++ /* ++ * Write to the PLL dynamic configuration registers to configure it ++ * with the calculated parameters. ++ */ ++ dglnt_dynclk_find_reg(&clkReg, &clkMode); ++ dglnt_dynclk_write_reg(&clkReg, dglnt_dynclk->base); ++ dglnt_dynclk->freq = clkMode.freq * 200; ++ dglnt_dynclk_disable(clk_hw); ++ dglnt_dynclk_enable(clk_hw); ++ ++ return 0; ++} ++ ++static long dglnt_dynclk_round_rate(struct clk_hw *hw, unsigned long rate, ++ unsigned long *parent_rate) ++{ ++ struct dglnt_dynclk_mode clkMode; ++ ++ dglnt_dynclk_find_mode(((rate + 100) / 200), ++ ((*parent_rate) + 500) / 1000, &clkMode); ++ ++ return (clkMode.freq * 200); ++} ++ ++static unsigned long dglnt_dynclk_recalc_rate(struct clk_hw *clk_hw, ++ unsigned long parent_rate) ++{ ++ struct dglnt_dynclk *dglnt_dynclk = clk_hw_to_dglnt_dynclk(clk_hw); ++ ++ return dglnt_dynclk->freq; ++} ++ ++ ++static const struct clk_ops dglnt_dynclk_ops = { ++ .recalc_rate = dglnt_dynclk_recalc_rate, ++ .round_rate = dglnt_dynclk_round_rate, ++ .set_rate = dglnt_dynclk_set_rate, ++ .enable = dglnt_dynclk_enable, ++ .disable = dglnt_dynclk_disable, ++}; ++ ++static const struct of_device_id dglnt_dynclk_ids[] = { ++ { .compatible = "digilent,axi-dynclk", }, ++ { }, ++}; ++MODULE_DEVICE_TABLE(of, dglnt_dynclk_ids); ++ ++static int dglnt_dynclk_probe(struct platform_device *pdev) ++{ ++ const struct of_device_id *id; ++ struct dglnt_dynclk *dglnt_dynclk; ++ struct clk_init_data init; ++ const char *parent_name; ++ const char *clk_name; ++ struct resource *mem; ++ struct clk *clk; ++ ++ if (!pdev->dev.of_node) ++ return -ENODEV; ++ ++ id = of_match_node(dglnt_dynclk_ids, pdev->dev.of_node); ++ if (!id) ++ return -ENODEV; ++ ++ dglnt_dynclk = devm_kzalloc(&pdev->dev, sizeof(*dglnt_dynclk), ++ GFP_KERNEL); ++ if (!dglnt_dynclk) ++ return -ENOMEM; ++ ++ mem = platform_get_resource(pdev, IORESOURCE_MEM, 0); ++ dglnt_dynclk->base = devm_ioremap_resource(&pdev->dev, mem); ++ if (IS_ERR(dglnt_dynclk->base)) ++ return PTR_ERR(dglnt_dynclk->base); ++ ++ parent_name = of_clk_get_parent_name(pdev->dev.of_node, 0); ++ if (!parent_name) ++ return -EINVAL; ++ ++ clk_name = pdev->dev.of_node->name; ++ of_property_read_string(pdev->dev.of_node, "clock-output-names", ++ &clk_name); ++ ++ init.name = clk_name; ++ init.ops = &dglnt_dynclk_ops; ++ init.flags = 0; ++ init.parent_names = &parent_name; ++ init.num_parents = 1; ++ ++ dglnt_dynclk->freq = 0; ++ dglnt_dynclk_disable(&dglnt_dynclk->clk_hw); ++ ++ dglnt_dynclk->clk_hw.init = &init; ++ clk = devm_clk_register(&pdev->dev, &dglnt_dynclk->clk_hw); ++ if (IS_ERR(clk)) ++ return PTR_ERR(clk); ++ ++ return of_clk_add_provider(pdev->dev.of_node, of_clk_src_simple_get, ++ clk); ++} ++ ++static int dglnt_dynclk_remove(struct platform_device *pdev) ++{ ++ of_clk_del_provider(pdev->dev.of_node); ++ ++ return 0; ++} ++ ++static struct platform_driver dglnt_dynclk_driver = { ++ .driver = { ++ .name = "dglnt-dynclk", ++ .owner = THIS_MODULE, ++ .of_match_table = dglnt_dynclk_ids, ++ }, ++ .probe = dglnt_dynclk_probe, ++ .remove = dglnt_dynclk_remove, ++}; ++module_platform_driver(dglnt_dynclk_driver); ++ ++MODULE_LICENSE("GPL v2"); ++MODULE_AUTHOR("Sam Bobrowicz "); ++MODULE_DESCRIPTION("CCF Driver for Digilent axi_dynclk IP Core"); +-- +2.14.2 + diff --git a/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2024.1/0003-drm-xilinx-Fix-DPMS-transition-to-on.patch b/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2024.1/0003-drm-xilinx-Fix-DPMS-transition-to-on.patch new file mode 100644 index 00000000..a98d84c5 --- /dev/null +++ b/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2024.1/0003-drm-xilinx-Fix-DPMS-transition-to-on.patch @@ -0,0 +1,54 @@ +From 1a18e2b514ae9e75145597ac509a87f656c976ba Mon Sep 17 00:00:00 2001 +From: Nathan Rossi +Date: Mon, 2 May 2016 23:46:42 +1000 +Subject: [PATCH 3/3] drm: xilinx: Fix DPMS transition to on + +Fix the issues where the VTC is reset (losing its timing config). + +Also fix the issue where the plane destroys its DMA descriptors and +marks the DMA channels as inactive but never recreates the descriptors +and never updates the active state when turning DPMS back on. + +Signed-off-by: Nathan Rossi +Upstream-Status: Pending [This is a workaround] +--- + drivers/gpu/drm/xilinx/xilinx_drm_crtc.c | 1 - + drivers/gpu/drm/xilinx/xilinx_drm_plane.c | 3 ++- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/drivers/gpu/drm/xilinx/xilinx_drm_crtc.c b/drivers/gpu/drm/xilinx/xilinx_drm_crtc.c +index 631d35b921..93dbd4b58a 100644 +--- a/drivers/gpu/drm/xilinx/xilinx_drm_crtc.c ++++ b/drivers/gpu/drm/xilinx/xilinx_drm_crtc.c +@@ -88,7 +88,6 @@ static void xilinx_drm_crtc_dpms(struct drm_crtc *base_crtc, int dpms) + default: + if (crtc->vtc) { + xilinx_vtc_disable(crtc->vtc); +- xilinx_vtc_reset(crtc->vtc); + } + if (crtc->cresample) { + xilinx_cresample_disable(crtc->cresample); +diff --git a/drivers/gpu/drm/xilinx/xilinx_drm_plane.c b/drivers/gpu/drm/xilinx/xilinx_drm_plane.c +index 6a248b72d4..d2518a4bdf 100644 +--- a/drivers/gpu/drm/xilinx/xilinx_drm_plane.c ++++ b/drivers/gpu/drm/xilinx/xilinx_drm_plane.c +@@ -140,7 +140,7 @@ void xilinx_drm_plane_commit(struct drm_plane *base_plane) + for (i = 0; i < MAX_NUM_SUB_PLANES; i++) { + struct xilinx_drm_plane_dma *dma = &plane->dma[i]; + +- if (dma->chan && dma->is_active) { ++ if (dma->chan) { + flags = DMA_CTRL_ACK | DMA_PREP_INTERRUPT; + desc = dmaengine_prep_interleaved_dma(dma->chan, + &dma->xt, +@@ -153,6 +153,7 @@ void xilinx_drm_plane_commit(struct drm_plane *base_plane) + dmaengine_submit(desc); + + dma_async_issue_pending(dma->chan); ++ dma->is_active = true; + } + } + } +-- +2.14.2 + diff --git a/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2024.1/0004-minized-wifi-bluetooth.cfg b/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2024.1/0004-minized-wifi-bluetooth.cfg new file mode 100644 index 00000000..f71e53ab --- /dev/null +++ b/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx/v2024.1/0004-minized-wifi-bluetooth.cfg @@ -0,0 +1,33 @@ +# +# Bluetooth config +# +CONFIG_BT=y +CONFIG_BT_BREDR=y +CONFIG_BT_HS=y +CONFIG_BT_LE=y +CONFIG_BT_BCM=y +CONFIG_BT_HCIUART=y +CONFIG_BT_HCIUART_H4=y +CONFIG_BT_HCIUART_BCM=y +CONFIG_BT_HIDP=y +CONFIG_CFG80211=y +CONFIG_CFG80211_DEFAULT_PS=y +CONFIG_CFG80211_CRDA_SUPPORT=y +CONFIG_BRCMUTIL=y +CONFIG_BRCMFMAC=y +CONFIG_BRCMFMAC_PROTO_BCDC=y +CONFIG_BRCMFMAC_SDIO=y +CONFIG_CRYPTO_BLKCIPHER=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_ECB=y +CONFIG_CRYPTO_CMAC=y +CONFIG_CRYPTO_SHA256=y + +# +# Regulator config +# +CONFIG_REGMAP_IRQ=y +CONFIG_I2C_XILINX=y +CONFIG_MFD_DA9062=y +CONFIG_REGULATOR_DA9062=y + diff --git a/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx_2024.1.bbappend b/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx_2024.1.bbappend new file mode 100644 index 00000000..c789c7a9 --- /dev/null +++ b/meta-xilinx-contrib/recipes-kernel/linux/linux-xlnx_2024.1.bbappend @@ -0,0 +1,12 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/linux-xlnx/v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}:" + +# Note: These patches are very old and doesn't apply on top of 5.x +# kernel. For more details refer README.md file. + +#SRC_URI:append:zybo-linux-bd-zynq7 = " \ +# file://0001-drm-xilinx-Add-encoder-for-Digilent-boards.patch \ +# file://0002-clk-Add-driver-for-axi_dynclk-IP-Core.patch \ +# file://0003-drm-xilinx-Fix-DPMS-transition-to-on.patch \ +# " + +SRC_URI:append:minized-zynq7 = " file://0004-minized-wifi-bluetooth.cfg" diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb new file mode 100644 index 00000000..ce505895 --- /dev/null +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -0,0 +1,11 @@ +LINUX_VERSION = "6.1.30" +YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.1;destsuffix=yocto-kmeta" +KBRANCH="xlnx_rebase_v6.1_LTS" +SRCREV = "5cfa8a2ffb8ecdb3388280bf95dd82349e26a5fb" +SRCREV_meta = "185bcfcbe480c742247d9117011794c69682914f" + +KCONF_AUDIT_LEVEL="0" + +include linux-xlnx.inc + +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" -- cgit v1.2.3-54-g00ecf From 9e481d9ca2349206e7a000f8c7d24c5558dc0a03 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Tue, 29 Aug 2023 16:13:16 -0500 Subject: kernel-module-dp: Branch to 2024.1 Signed-off-by: Mark Hatle --- .../recipes-kernel/dp/kernel-module-dp_2024.1.bb | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2024.1.bb diff --git a/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2024.1.bb b/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2024.1.bb new file mode 100644 index 00000000..7849cc93 --- /dev/null +++ b/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2024.1.bb @@ -0,0 +1,24 @@ +SUMMARY = "Xilinx DisplayPort Linux Kernel module" +DESCRIPTION = "Out-of-tree DisplayPort(DP) kernel modules provider for aarch64 devices" +SECTION = "kernel/modules" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a" + +XLNX_DP_VERSION = "6.1.0" +PV = "${XLNX_DP_VERSION}+xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" + +S = "${WORKDIR}/git" + +BRANCH ?= "master" +REPO ?= "git://github.com/xilinx/dp-modules.git;protocol=https" +SRCREV ?= "5b0969ac09f301c33bccc140c8f60e832f5cf222" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = "${REPO};${BRANCHARG}" + +inherit module + +EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}" +COMPATIBLE_MACHINE = "^$" +COMPATIBLE_MACHINE:zynqmp = "zynqmp" +COMPATIBLE_MACHINE:versal = "versal" -- cgit v1.2.3-54-g00ecf From 27fc31c968bd3c4976e1519209cb3907ac76e44f Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Tue, 29 Aug 2023 16:13:43 -0500 Subject: kernel-module-hdmi: Branch to 2024.1 Signed-off-by: Mark Hatle --- .../hdmi/kernel-module-hdmi_2024.1.bb | 24 ++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2024.1.bb diff --git a/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2024.1.bb b/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2024.1.bb new file mode 100644 index 00000000..eba5d465 --- /dev/null +++ b/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2024.1.bb @@ -0,0 +1,24 @@ +SUMMARY = "Xilinx HDMI Linux Kernel module" +DESCRIPTION = "Out-of-tree HDMI kernel modules provider for MPSoC EG/EV devices" +SECTION = "kernel/modules" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=b34277fe156508fd5a650609dc36d1fe" + +XLNX_HDMI_VERSION = "6.1" +PV = "${XLNX_HDMI_VERSION}+xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" + +S = "${WORKDIR}/git" + +BRANCH ?= "master" +REPO ?= "git://github.com/Xilinx/hdmi-modules.git;protocol=https" +SRCREV = "82209b0021a7b5d7ef71a859eed4bafeb541ed08" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = "${REPO};${BRANCHARG}" + +inherit module + +EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}" +COMPATIBLE_MACHINE = "^$" +COMPATIBLE_MACHINE:zynqmp = "zynqmp" +COMPATIBLE_MACHINE:versal = "versal" -- cgit v1.2.3-54-g00ecf From 8682a995b62e91f82ce2c89eb526e35368f2fbe9 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Tue, 29 Aug 2023 16:14:11 -0500 Subject: openamp: libmetal/open-amp: Branch to 2024.1 Signed-off-by: Mark Hatle --- .../recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb | 15 +++++++++++++++ .../recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb | 16 ++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb create mode 100644 meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb new file mode 100644 index 00000000..057c1ef8 --- /dev/null +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb @@ -0,0 +1,15 @@ +SRCBRANCH ?= "2023.2" +SRCREV = "be635252271de342014a146825870b64bd41d6eb" +BRANCH = "2023" +LIC_FILES_CHKSUM ?= "file://LICENSE.md;md5=f4d5df0f12dcea1b1a0124219c0dbab4" +PV = "${SRCBRANCH}+git${SRCPV}" + +REPO = "git://github.com/Xilinx/libmetal.git;protocol=https" + +include ${LAYER_PATH_openamp-layer}/recipes-openamp/libmetal/libmetal.inc + +RPROVIDES:${PN}-dbg += "libmetal-dbg" +RPROVIDES:${PN}-dev += "libmetal-dev" +RPROVIDES:${PN}-lic += "libmetal-lic" +RPROVIDES:${PN}-src += "libmetal-src" +RPROVIDES:${PN}-staticdev += "libmetal-staticdev" diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb new file mode 100644 index 00000000..0392bd86 --- /dev/null +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb @@ -0,0 +1,16 @@ +SRCBRANCH ?= "2023.2" +SRCREV = "e95b02aef72a21039b1d109087788d4675475813" +BRANCH = "2023" +LIC_FILES_CHKSUM ?= "file://LICENSE.md;md5=ab88daf995c0bd0071c2e1e55f3d3505" +PV = "${SRCBRANCH}+git${SRCPV}" +REPO = "git://github.com/Xilinx/open-amp.git;protocol=https" + +include ${LAYER_PATH_openamp-layer}/recipes-openamp/open-amp/open-amp.inc +require ${LAYER_PATH_openamp-layer}/vendor/xilinx/recipes-openamp/open-amp/open-amp-xlnx.inc + +RPROVIDES:${PN}-dbg += "open-amp-dbg" +RPROVIDES:${PN}-dev += "open-amp-dev" +RPROVIDES:${PN}-lic += "open-amp-lic" +RPROVIDES:${PN}-src += "open-amp-src" +RPROVIDES:${PN}-staticdev += "open-amp-staticdev" + -- cgit v1.2.3-54-g00ecf From aad28996709a234927e261bf2c123e5703c8edc3 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Tue, 29 Aug 2023 16:14:30 -0500 Subject: arm-trusted-firmware: Branch integration to 2024.1 Signed-off-by: Mark Hatle --- .../arm-trusted-firmware/arm-trusted-firmware_2024.1.bb | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb diff --git a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb new file mode 100644 index 00000000..26c24498 --- /dev/null +++ b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb @@ -0,0 +1,8 @@ +ATF_VERSION = "2.8" +SRCREV = "1ce681f023ba57a16c72538ee124a106cc4b3988" +BRANCH = "xlnx_rebase_v2.8" +LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031" + + +include arm-trusted-firmware.inc + -- cgit v1.2.3-54-g00ecf From 06d602df4216d9cd03d6a8fadf97b35c43ec8704 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Tue, 29 Aug 2023 16:14:55 -0500 Subject: vcu: Branch integration to 2024.1 Signed-off-by: Mark Hatle --- .../vcu/kernel-module-vcu_2024.1.bb | 39 +++++++++++++++++ .../recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb | 50 ++++++++++++++++++++++ .../recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb | 41 ++++++++++++++++++ .../recipes-multimedia/vcu/vcu-firmware_2024.1.bb | 38 ++++++++++++++++ 4 files changed, 168 insertions(+) create mode 100644 meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb create mode 100644 meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb create mode 100644 meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb create mode 100644 meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb diff --git a/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb new file mode 100644 index 00000000..7f2b205f --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb @@ -0,0 +1,39 @@ +SUMMARY = "Linux kernel module for Video Code Unit" +DESCRIPTION = "Out-of-tree VCU decoder, encoder and common kernel modules provider for MPSoC EV devices" +SECTION = "kernel/modules" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a" + +XILINX_VCU_VERSION = "1.0.0" +PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" + +S = "${WORKDIR}/git" + +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + +BRANCH = "master" +REPO = "git://github.com/Xilinx/vcu-modules.git;protocol=https" +SRCREV = "689c8d823b383e2a8a5249be49de627f866cfaf2" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = " \ + ${REPO};${BRANCHARG} \ + file://99-vcu-enc-dec.rules \ + " + +inherit module features_check + +REQUIRED_MACHINE_FEATURES = "vcu" + +EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}" + +RDEPENDS:${PN} = "vcu-firmware" + +KERNEL_MODULE_AUTOLOAD += "dmaproxy" + +do_install:append() { + install -d ${D}${sysconfdir}/udev/rules.d + install -m 0644 ${WORKDIR}/99-vcu-enc-dec.rules ${D}${sysconfdir}/udev/rules.d/ +} + +FILES:${PN} = "${sysconfdir}/udev/rules.d/*" diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb new file mode 100644 index 00000000..80d0155e --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb @@ -0,0 +1,50 @@ +SUMMARY = "OpenMAX Integration layer for VCU" +DESCRIPTION = "OMX IL Libraries,test applications and headers for VCU" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=ef69c2bb405668101824f0b644631e2e" + +XILINX_VCU_VERSION = "1.0.0" +PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" + +BRANCH ?= "master" +REPO ?= "git://github.com/Xilinx/vcu-omx-il.git;protocol=https" +SRCREV = "3a04b5adc661a0eced626c1373dbbfe699ae6fe0" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = "${REPO};${BRANCHARG}" + +S = "${WORKDIR}/git" + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "vcu" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +DEPENDS = "libvcu-xlnx" +RDEPENDS:${PN} = "kernel-module-vcu libvcu-xlnx" + +EXTERNAL_INCLUDE="${STAGING_INCDIR}/vcu-ctrl-sw/include" + +EXTRA_OEMAKE = " \ + CC='${CC}' CXX='${CXX} ${CXXFLAGS}' \ + EXTERNAL_INCLUDE='${EXTERNAL_INCLUDE}' \ + " + +do_install() { + install -d ${D}${libdir} + install -d ${D}${includedir}/vcu-omx-il + + install -m 0644 ${S}/omx_header/*.h ${D}${includedir}/vcu-omx-il + + oe_runmake install INSTALL_PATH=${D}${bindir} + + oe_libinstall -C ${S}/bin/ -so libOMX.allegro.core ${D}/${libdir}/ + oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_decoder ${D}/${libdir}/ + oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_encoder ${D}/${libdir}/ +} + +# These libraries shouldn't get installed in world builds unless something +# explicitly depends upon them. + +EXCLUDE_FROM_WORLD = "1" diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb new file mode 100644 index 00000000..fdadca3f --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb @@ -0,0 +1,41 @@ +SUMMARY = "Control Software for VCU" +DESCRIPTION = "Control software libraries, test applications and headers provider for VCU" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=ef69c2bb405668101824f0b644631e2e" + +XILINX_VCU_VERSION = "1.0.0" +PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" + +BRANCH ?= "master" +REPO ?= "git://github.com/Xilinx/vcu-ctrl-sw.git;protocol=https" +SRCREV = "84b0856cad7844d69f57ac4d9447c20930875475" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = "${REPO};${BRANCHARG}" + +S = "${WORKDIR}/git" + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "vcu" + +RDEPENDS:${PN} = "kernel-module-vcu" + +EXTRA_OEMAKE = "CC='${CC}' CXX='${CXX} ${CXXFLAGS}'" + +do_install() { + install -d ${D}${libdir} + install -d ${D}${includedir}/vcu-ctrl-sw/include + + oe_runmake install_headers INSTALL_HDR_PATH=${D}${includedir}/vcu-ctrl-sw/include INSTALL_PATH=${D}/${bindir} + oe_libinstall -C ${S}/bin/ -so liballegro_decode ${D}/${libdir}/ + oe_libinstall -C ${S}/bin/ -so liballegro_encode ${D}/${libdir}/ +} + +# These libraries shouldn't get installed in world builds unless something +# explicitly depends upon them. + +EXCLUDE_FROM_WORLD = "1" + +# Disable buildpaths QA check warnings. +INSANE_SKIP:${PN} += "buildpaths" diff --git a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb new file mode 100644 index 00000000..4ab139fc --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb @@ -0,0 +1,38 @@ +SUMMARY = "Firmware for VCU" +DESCRIPTION = "Firmware binaries provider for VCU" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=52eb1e8f27e0e189b175c7d75f028cc6" + +XILINX_VCU_VERSION = "1.0.0" +PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" + +S = "${WORKDIR}/git" + +BRANCH ?= "master" +REPO ?= "git://github.com/Xilinx/vcu-firmware.git;protocol=https" +SRCREV = "f4ab98d26aa3e244a487f518f5a76071137c8402" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = "${REPO};${BRANCHARG}" + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "vcu" + +do_install() { + install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d_b.fw ${D}/lib/firmware/al5d_b.fw + install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d.fw ${D}/lib/firmware/al5d.fw + install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e_b.fw ${D}/lib/firmware/al5e_b.fw + install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e.fw ${D}/lib/firmware/al5e.fw +} + +# Inhibit warnings about files being stripped +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" +INHIBIT_PACKAGE_STRIP = "1" +FILES:${PN} = "/lib/firmware/*" + +# These libraries shouldn't get installed in world builds unless something +# explicitly depends upon them. +EXCLUDE_FROM_WORLD = "1" + +INSANE_SKIP:${PN} = "ldflags" -- cgit v1.2.3-54-g00ecf From fc24f67225830df892a0d468325f758ed646270c Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Tue, 29 Aug 2023 16:15:17 -0500 Subject: vdu: Branch integration to 2024.1 Signed-off-by: Mark Hatle --- .../vdu/kernel-module-vdu_2024.1.bb | 42 +++++++++++++++++ .../recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb | 45 ++++++++++++++++++ .../recipes-multimedia/vdu/libvdu-omxil_2024.1.bb | 54 ++++++++++++++++++++++ .../recipes-multimedia/vdu/vdu-firmware_2024.1.bb | 43 +++++++++++++++++ 4 files changed, 184 insertions(+) create mode 100644 meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb create mode 100644 meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb create mode 100644 meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb create mode 100755 meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb diff --git a/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb new file mode 100644 index 00000000..308b8eac --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb @@ -0,0 +1,42 @@ +SUMMARY = "Linux kernel module for Video Decode Unit" +DESCRIPTION = "Out-of-tree VDU decoder common kernel modules" +SECTION = "kernel/modules" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a" + +XILINX_VDU_VERSION = "1.0.0" +PV =. "${XILINX_VDU_VERSION}-xilinx-v" +PV .= "+git${SRCPV}" + +S = "${WORKDIR}/git" +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + +BRANCH ?= "master" +REPO ?= "git://github.com/Xilinx/vdu-modules.git;protocol=https" +SRCREV ?= "4d5134f54006f904f0b28f00e05dd3febd5fcfd3" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = "${REPO};${BRANCHARG} \ + file://99-vdu-enc-dec.rules \ +" + +inherit module features_check + +REQUIRED_MACHINE_FEATURES = "vdu" + +EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}" + +RDEPENDS:${PN} = "vdu-firmware" + +COMPATIBLE_MACHINE = "^$" +COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" +COMPATIBLE_MACHINE:versal-ai-edge = "versal-ai-edge" + +PACKAGE_ARCH = "${SOC_FAMILY_ARCH}" + +do_install:append() { + install -d ${D}${sysconfdir}/udev/rules.d + install -m 0644 ${WORKDIR}/99-vdu-enc-dec.rules ${D}${sysconfdir}/udev/rules.d/ +} + +FILES:${PN} = "${sysconfdir}/udev/rules.d/*" diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb new file mode 100644 index 00000000..19db2456 --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb @@ -0,0 +1,45 @@ +SUMMARY = "Control Software for VDU" +DESCRIPTION = "Control software libraries, test applications and headers provider for VDU" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=aaf483d309243c4596f6373eb9c8325f" + +XILINX_VDU_VERSION = "1.0.0" +PV =. "${XILINX_VDU_VERSION}-xilinx-v" +PV .= "+git${SRCPV}" + +inherit autotools features_check + +REQUIRED_MACHINE_FEATURES = "vdu" + +BRANCH ?= "master" +REPO ?= "git://github.com/Xilinx/vdu-ctrl-sw.git;protocol=https" +SRCREV ?= "1beb8f247d01b1a728faea36ce8f7847c895482f" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = "${REPO};${BRANCHARG}" + +S = "${WORKDIR}/git" + +COMPATIBLE_MACHINE = "^$" +COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" +COMPATIBLE_MACHINE:versal-ai-edge = "versal-ai-edge" + +PACKAGE_ARCH = "${SOC_FAMILY_ARCH}" + +RDEPENDS:${PN} = "kernel-module-vdu" + +do_compile[dirs] = "${S}" +do_install[dirs] = "${S}" + +EXTRA_OEMAKE = "CC='${CC}' CXX='${CXX} ${CXXFLAGS}'" +EXTRA_OEMAKE +=" INSTALL_HDR_PATH=${D}${includedir}/vdu-ctrl-sw/include INSTALL_PATH=${D}${bindir}" + +do_install:append() { + + oe_libinstall -C ${S}/bin/ -so liballegro_decode ${D}/${libdir}/ +} + +# These libraries shouldn't get installed in world builds unless something +# explicitly depends upon them. + +EXCLUDE_FROM_WORLD = "1" diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb new file mode 100644 index 00000000..466153d1 --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb @@ -0,0 +1,54 @@ +SUMMARY = "OpenMAX Integration layer for VDU" +DESCRIPTION = "OMX IL Libraries,test application and headers for VDU" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=aaf483d309243c4596f6373eb9c8325f" + +XILINX_VDU_VERSION = "1.0.0" +PV =. "${XILINX_VDU_VERSION}-xilinx-v" +PV .= "+git${SRCPV}" + +BRANCH ?= "master" +REPO ?= "git://github.com/Xilinx/vdu-omx-il.git;protocol=https" +SRCREV ?= "811eefac953fd5e098c69cada97a0dd35f5e9015" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = "${REPO};${BRANCHARG} \ + " +S = "${WORKDIR}/git" + +inherit autotools features_check + +REQUIRED_MACHINE_FEATURES = "vdu" + +COMPATIBLE_MACHINE = "^$" +COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" +COMPATIBLE_MACHINE:versal-ai-edge = "versal-ai-edge" + +PACKAGE_ARCH = "${SOC_FAMILY_ARCH}" + +DEPENDS = "libvdu-ctrlsw" +RDEPENDS:${PN} = "kernel-module-vdu libvdu-ctrlsw" + +EXTERNAL_INCLUDE="${STAGING_INCDIR}/vdu-ctrl-sw/include" + +do_compile[dirs] = "${S}" +do_install[dirs] = "${S}" + +EXTRA_OEMAKE = " \ + CC='${CC}' CXX='${CXX} ${CXXFLAGS}' \ + EXTERNAL_INCLUDE='${EXTERNAL_INCLUDE}' \ + INSTALL_PATH=${D}${bindir} \ + INCLUDE_INST_PATH=${D}${includedir} \ + " + +do_install:append() { + install -d ${D}${libdir} + + oe_libinstall -C ${S}/bin/ -so libOMX.allegro.core ${D}/${libdir}/ + oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_decoder ${D}/${libdir}/ +} + +# These libraries shouldn't get installed in world builds unless something +# explicitly depends upon them. + +EXCLUDE_FROM_WORLD = "1" diff --git a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb new file mode 100755 index 00000000..7595c082 --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb @@ -0,0 +1,43 @@ +SUMMARY = "Firmware for VDU" +DESCRIPTION = "Firmware binaries provider for VDU" +LICENSE = "Proprietary" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=c5784f63397086d836580d8785d1deb9" + +XILINX_VDU_VERSION = "1.0.0" +PV =. "${XILINX_VDU_VERSION}-xilinx-v" +PV .= "+git${SRCPV}" + +S = "${WORKDIR}/git" + +inherit autotools features_check + +REQUIRED_MACHINE_FEATURES = "vdu" + +BRANCH ?= "master" +REPO ?= "git://github.com/Xilinx/vdu-firmware.git;protocol=https" +SRCREV ?= "63fe2fce6e46d5bf03e33300a58a37d8568722ee" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = "${REPO};${BRANCHARG}" + +COMPATIBLE_MACHINE = "^$" +COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" +COMPATIBLE_MACHINE:versal-ai-edge = "versal-ai-edge" + +PACKAGE_ARCH = "${SOC_FAMILY_ARCH}" +EXTRA_OEMAKE +="INSTALL_PATH=${D}/lib/firmware" + +do_compile[noexec] = "1" +do_install[dirs] = "${S}" + +# Inhibit warnings about files being stripped +INHIBIT_PACKAGE_DEBUG_SPLIT = "1" +INHIBIT_PACKAGE_STRIP = "1" +FILES:${PN} = "/lib/firmware/*" + + +# These libraries shouldn't get installed in world builds unless something +# explicitly depends upon them. +EXCLUDE_FROM_WORLD = "1" + +INSANE_SKIP:${PN} = "ldflags" -- cgit v1.2.3-54-g00ecf From 17a26788ce89e9bd384ea06df8cd7f87b365517d Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Tue, 29 Aug 2023 16:15:41 -0500 Subject: dfx-mgr: Branch integration to 2024.1 Signed-off-by: Mark Hatle --- .../recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb | 72 ++++++++++++++++++++++ .../recipes-bsp/libdfx/libdfx_2024.1.bb | 23 +++++++ 2 files changed, 95 insertions(+) create mode 100644 meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb create mode 100644 meta-xilinx-core/recipes-bsp/libdfx/libdfx_2024.1.bb diff --git a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb new file mode 100644 index 00000000..fd808d50 --- /dev/null +++ b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb @@ -0,0 +1,72 @@ +SUMMARY = "Xilinx dfx-mgr libraries" +DESCRIPTION = "Xilinx Runtime User Space Libraries and Binaries" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d67bcef754e935bf77b6d7051bd62b5e" + +REPO ?= "git://github.com/Xilinx/dfx-mgr.git;protocol=https" +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = "${REPO};${BRANCHARG}" + +BRANCH = "master" +SRCREV = "d78eac47f17bca4326a4540ff5d2ebea7d9c45ed" +SOMAJOR = "1" +SOMINOR = "0" +SOVERSION = "${SOMAJOR}.${SOMINOR}" + +COMPATIBLE_MACHINE = "^$" +COMPATIBLE_MACHINE:zynqmp = "zynqmp" +COMPATIBLE_MACHINE:versal = "versal" + +S = "${WORKDIR}/git" + +inherit cmake update-rc.d systemd + +DEPENDS += " libwebsockets inotify-tools libdfx zocl libdrm" +RDEPENDS:${PN} += " freeipmi" +EXTRA_OECMAKE += " \ + -DCMAKE_SYSROOT:PATH=${RECIPE_SYSROOT} \ + " + +INITSCRIPT_NAME = "dfx-mgr.sh" +INITSCRIPT_PARAMS = "start 99 S ." + +SYSTEMD_PACKAGES="${PN}" +SYSTEMD_SERVICE:${PN}="dfx-mgr.service" +SYSTEMD_AUTO_ENABLE:${PN}="enable" + + +do_install(){ + install -d ${D}${bindir} + install -d ${D}${libdir} + install -d ${D}${includedir} + install -d ${D}${base_libdir}/firmware/xilinx + install -d ${D}${sysconfdir}/dfx-mgrd + + cp ${B}/example/sys/linux/dfx-mgrd-static ${D}${bindir}/dfx-mgrd + cp ${B}/example/sys/linux/dfx-mgr-client-static ${D}${bindir}/dfx-mgr-client + chrpath -d ${D}${bindir}/dfx-mgrd + chrpath -d ${D}${bindir}/dfx-mgr-client + install -m 0644 ${S}/src/dfxmgr_client.h ${D}${includedir} + + oe_soinstall ${B}/src/libdfx-mgr.so.${SOVERSION} ${D}${libdir} + + install -m 0755 ${S}/src/daemon.conf ${D}${sysconfdir}/dfx-mgrd/ + + if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/init.d/ + install -m 0755 ${S}/src/dfx-mgr.sh ${D}${sysconfdir}/init.d/ + fi + + install -m 0755 ${S}/src/dfx-mgr.sh ${D}${bindir} + install -m 0755 ${S}/src/scripts/xlnx-firmware-detect ${D}${bindir} + + install -d ${D}${systemd_system_unitdir} + install -m 0644 ${S}/src/dfx-mgr.service ${D}${systemd_system_unitdir} +} + +PACKAGES =+ "libdfx-mgr" + +FILES:${PN} += "${base_libdir}/firmware/xilinx" +FILES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES','sysvinit','${sysconfdir}/init.d/dfx-mgr.sh', '', d)} ${systemd_system_unitdir}" +FILES:libdfx-mgr = "${libdir}/libdfx-mgr.so.${SOVERSION} ${libdir}/libdfx-mgr.so.${SOMAJOR}" diff --git a/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2024.1.bb b/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2024.1.bb new file mode 100644 index 00000000..11ad0268 --- /dev/null +++ b/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2024.1.bb @@ -0,0 +1,23 @@ +SUMMARY = "Xilinx libdfx library" +DESCRIPTION = "Xilinx libdfx Library and headers" + +LICENSE = "MIT & GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=94aba86aec117f003b958a52f019f1a7" + +BRANCH ?= "master" +REPO ?= "git://github.com/Xilinx/libdfx.git;protocol=https" +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = "${REPO};${BRANCHARG}" +SRCREV = "52c1d83c72a2b2e85d256411a199ed1baed12ae1" + +COMPATIBLE_MACHINE = "^$" +COMPATIBLE_MACHINE:zynqmp = "zynqmp" +COMPATIBLE_MACHINE:versal = "versal" + +S = "${WORKDIR}/git" + +inherit cmake + +# Due to an update where the soname/version was defined, we need to use an RREPLACES +# so updates will work properly. +RREPLACES:${PN} = "libdfx" -- cgit v1.2.3-54-g00ecf From d66d5551c7c8e93d3353e1ab9d047893f70b7ab3 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Tue, 29 Aug 2023 16:16:29 -0500 Subject: u-boot: Branch recipe for 2024.1 integration Signed-off-by: Mark Hatle --- .../recipes-bsp/u-boot/u-boot-tools-xlnx_2024.1.bb | 21 +++++++++++++++++++++ .../recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 17 +++++++++++++++++ .../recipes-bsp/u-boot/u-boot-xlnx_2024.1.bb | 4 ++++ 3 files changed, 42 insertions(+) create mode 100644 meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2024.1.bb create mode 100644 meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc create mode 100644 meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2024.1.bb diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2024.1.bb b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2024.1.bb new file mode 100644 index 00000000..590d1755 --- /dev/null +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2024.1.bb @@ -0,0 +1,21 @@ +require u-boot-tools-xlnx.inc +require u-boot-xlnx-2024.1.inc + +# MUST clear CONFIG_VIDEO to avoid a compilation failure trying to construct +# bmp_logo.h +SED_CONFIG_EFI:append = ' -e "s/CONFIG_VIDEO=.*/# CONFIG_VIDEO is not set/"' + +# Default do_compile fails with: +# | error: object directory ../downloads/git2/github.com.Xilinx.u-boot-xlnx.git/objects does not exist; check .git/objects/info/alternates. +# The regular workaround of calling 'git diff' seems to be problematic. +do_compile () { + oe_runmake -C ${S} tools-only_defconfig O=${B} + + # Disable CONFIG_CMD_LICENSE, license.h is not used by tools and + # generating it requires bin2header tool, which for target build + # is built with target tools and thus cannot be executed on host. + sed -i -e "s/CONFIG_CMD_LICENSE=.*/# CONFIG_CMD_LICENSE is not set/" ${SED_CONFIG_EFI} ${B}/.config + + oe_runmake -C ${S} cross_tools NO_SDL=1 O=${B} +} + diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc new file mode 100644 index 00000000..87839254 --- /dev/null +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -0,0 +1,17 @@ +UBOOT_VERSION = "v2023.01" + +UBRANCH = "xlnx_rebase_v2023.01" + +SRCREV = "ce3aa5cdb1b01239466028eabf918e3e0ba1d529" + +LICENSE = "GPL-2.0-or-later" +LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" + +# u-boot-xlnx has support for these +HAS_PLATFORM_INIT ?= " \ + xilinx_zynqmp_virt_config \ + xilinx_zynq_virt_defconfig \ + xilinx_versal_vc_p_a2197_revA_x_prc_01_revA \ + " + +DEPENDS += "bc-native dtc-native python3-setuptools-native gnutls-native" diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2024.1.bb b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2024.1.bb new file mode 100644 index 00000000..718ad9d4 --- /dev/null +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2024.1.bb @@ -0,0 +1,4 @@ + +require u-boot-xlnx.inc +require u-boot-spl-zynq-init.inc +require u-boot-xlnx-2024.1.inc -- cgit v1.2.3-54-g00ecf From bf1e1cf97aceff5ca90e332fc593ef015ab50645 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Tue, 29 Aug 2023 16:16:53 -0500 Subject: qemu-xilinx: Branch for 2024.1 integration Signed-off-by: Mark Hatle --- .../qemu/qemu-devicetrees_2024.1.bb | 6 +++++ .../recipes-devtools/qemu/qemu-xilinx-2024.1.inc | 3 +++ .../qemu/qemu-xilinx-native_2024.1.bb | 9 ++++++++ .../qemu/qemu-xilinx-system-native_2024.1.bb | 26 ++++++++++++++++++++++ .../recipes-devtools/qemu/qemu-xilinx_2024.1.bb | 26 ++++++++++++++++++++++ 5 files changed, 70 insertions(+) create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2024.1.bb create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2024.1.bb create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2024.1.bb diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb new file mode 100644 index 00000000..5db8c0b9 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb @@ -0,0 +1,6 @@ + +require qemu-devicetrees.inc + +BRANCH ?= "master" +SRCREV ?= "86b1a621919f2fb27e5ef4120fcacde67d43368d" + diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc new file mode 100644 index 00000000..15201959 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc @@ -0,0 +1,3 @@ +XILINX_QEMU_VERSION = "v7.1.0" +BRANCH = "master" +SRCREV = "5b17802c28879d2150df5ea16d8719aab3ee26a0" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2024.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2024.1.bb new file mode 100644 index 00000000..77a32ff6 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2024.1.bb @@ -0,0 +1,9 @@ +require qemu-xilinx-2024.1.inc +require qemu-xilinx-native-7.1.inc +require qemu-native-alt.inc + +BPN = "qemu-xilinx" + +EXTRA_OECONF:append = " --target-list=${@get_qemu_usermode_target_list(d)} --disable-tools --disable-blobs --disable-guest-agent" + +PACKAGECONFIG ??= "pie" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2024.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2024.1.bb new file mode 100644 index 00000000..354c8dc3 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2024.1.bb @@ -0,0 +1,26 @@ +require qemu-system-native-alt.inc +require qemu-xilinx-2024.1.inc +require qemu-xilinx-native-7.1.inc + +PROVIDES = "qemu-system-native" + +EXTRA_OECONF:append = " --target-list=${@get_qemu_system_target_list(d)}" + +PACKAGECONFIG ??= "fdt alsa kvm gcrypt pie slirp" + +PACKAGECONFIG:remove = "${@'kvm' if not os.path.exists('/usr/include/linux/kvm.h') else ''}" + +DEPENDS += "pixman-native qemu-xilinx-native bison-native ninja-native meson-native" +DEPENDS += "qemu-xilinx-multiarch-helper-native" + +do_install:append() { + # The following is also installed by qemu-native + rm -f ${D}${datadir}/qemu/trace-events-all + rm -rf ${D}${datadir}/qemu/keymaps + rm -rf ${D}${datadir}/icons + rm -rf ${D}${includedir}/qemu-plugin.h + + # Install qmp.py to be used with testimage + install -d ${D}${libdir}/qemu-python/qmp/ + install -D ${S}/python/qemu/qmp/* ${D}${libdir}/qemu-python/qmp/ +} diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2024.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2024.1.bb new file mode 100644 index 00000000..7d7bea80 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2024.1.bb @@ -0,0 +1,26 @@ +require qemu-xilinx-2024.1.inc +require recipes-devtools/qemu/qemu.inc +require qemu-xilinx-7.1.inc +require qemu-alt.inc + +# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific +DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}" +MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH" +MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}" +PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH" +PACKAGE_ARCH:class-target = "${@bb.utils.contains_any('DEPENDS', 'libepoxy virglrenderer', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}" + +BBCLASSEXTEND = "nativesdk" + +RDEPENDS:${PN}:class-target += "bash" + +PROVIDES:class-nativesdk = "nativesdk-qemu" +RPROVIDES:${PN}:class-nativesdk = "nativesdk-qemu" + +EXTRA_OECONF:append:class-target = " --target-list=${@get_qemu_target_list(d)}" +EXTRA_OECONF:append:class-nativesdk = " --target-list=${@get_qemu_target_list(d)}" +EXTRA_OECONF:append:class-target:mipsarcho32 = "${@bb.utils.contains('BBEXTENDCURR', 'multilib', ' --disable-capstone', '', d)}" + +do_install:append:class-nativesdk() { + ${@bb.utils.contains('PACKAGECONFIG', 'gtk+', 'make_qemu_wrapper', '', d)} +} -- cgit v1.2.3-54-g00ecf From 3327109bf9aafd0bbb544cea3b1beb6d46c43125 Mon Sep 17 00:00:00 2001 From: John Toomey Date: Tue, 29 Aug 2023 18:11:33 +0100 Subject: ai-engine-driver: Update branch to xlnx_rel_v2023.2 Changelog: driver: src: global: Correct documentation driver: src: Fixed MisraC mandatory violations driver: src: rsc: Fix resource (file descriptor) leak Signed-off-by: John Toomey Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index 4d4f6afd..70eadd74 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -2,8 +2,8 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" -BRANCH ?= "main-aie" -SRCREV ?= "c4b61e22a59b72ea40a8ff8bf1b75e321e58682f" +BRANCH ?= "xlnx_rel_v2023.2" +SRCREV ?= "83c84d3c9617f1b9d71bdcbf6e89b2794f749c78" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From 199ac649ef88c94a54a942ebd521f09fd030cf78 Mon Sep 17 00:00:00 2001 From: John Toomey Date: Tue, 29 Aug 2023 18:11:34 +0100 Subject: dfx-mgr: Update branch to xlnx_rel_v2023.2 Changelog: (none) Signed-off-by: John Toomey Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.2.bb b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.2.bb index fd808d50..23057050 100644 --- a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.2.bb +++ b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.2.bb @@ -8,7 +8,7 @@ REPO ?= "git://github.com/Xilinx/dfx-mgr.git;protocol=https" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" -BRANCH = "master" +BRANCH = "xlnx_rel_v2023.2" SRCREV = "d78eac47f17bca4326a4540ff5d2ebea7d9c45ed" SOMAJOR = "1" SOMINOR = "0" -- cgit v1.2.3-54-g00ecf From 18a51c7d12cfbf59e36ddf67d40e760c80254c16 Mon Sep 17 00:00:00 2001 From: John Toomey Date: Tue, 29 Aug 2023 18:11:35 +0100 Subject: libdfx: Update branch to xlnx_rel_v2023.2 Changelog: (none) Signed-off-by: John Toomey Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-bsp/libdfx/libdfx_2023.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2023.2.bb b/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2023.2.bb index 11ad0268..b3ccb884 100644 --- a/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2023.2.bb +++ b/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2023.2.bb @@ -4,7 +4,7 @@ DESCRIPTION = "Xilinx libdfx Library and headers" LICENSE = "MIT & GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://LICENSE.md;md5=94aba86aec117f003b958a52f019f1a7" -BRANCH ?= "master" +BRANCH ?= "xlnx_rel_v2023.2" REPO ?= "git://github.com/Xilinx/libdfx.git;protocol=https" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" -- cgit v1.2.3-54-g00ecf From 1dce70d610eba526afad169b2245059d3d0d4d4e Mon Sep 17 00:00:00 2001 From: John Toomey Date: Tue, 29 Aug 2023 18:11:36 +0100 Subject: kernel-module-dp: Update branch to xlnx_rel_v2023.2 Changelog: (none) Signed-off-by: John Toomey Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2023.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2023.2.bb b/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2023.2.bb index 7849cc93..d1c6bd3d 100644 --- a/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2023.2.bb +++ b/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2023.2.bb @@ -9,7 +9,7 @@ PV = "${XLNX_DP_VERSION}+xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', Fal S = "${WORKDIR}/git" -BRANCH ?= "master" +BRANCH ?= "xlnx_rel_v2023.2" REPO ?= "git://github.com/xilinx/dp-modules.git;protocol=https" SRCREV ?= "5b0969ac09f301c33bccc140c8f60e832f5cf222" -- cgit v1.2.3-54-g00ecf From 1daa1408fee7810c221025a1ade8a43141e3c55f Mon Sep 17 00:00:00 2001 From: John Toomey Date: Tue, 29 Aug 2023 18:11:37 +0100 Subject: kernel-module-hdmi: Update branch to xlnx_rel_v2023.2 Changelog: (none) Signed-off-by: John Toomey Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2023.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2023.2.bb b/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2023.2.bb index eba5d465..bc89f5f3 100644 --- a/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2023.2.bb +++ b/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2023.2.bb @@ -9,7 +9,7 @@ PV = "${XLNX_HDMI_VERSION}+xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', F S = "${WORKDIR}/git" -BRANCH ?= "master" +BRANCH ?= "xlnx_rel_v2023.2" REPO ?= "git://github.com/Xilinx/hdmi-modules.git;protocol=https" SRCREV = "82209b0021a7b5d7ef71a859eed4bafeb541ed08" -- cgit v1.2.3-54-g00ecf From b570c7dc4a24ac2d119efa6a8ca48d72fe64e7fa Mon Sep 17 00:00:00 2001 From: John Toomey Date: Tue, 29 Aug 2023 18:11:38 +0100 Subject: vdu-firmware: Update branch to xlnx_rel_v2023.2 Changelog: (none) Signed-off-by: John Toomey Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.2.bb b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.2.bb index 7595c082..4deb1f51 100755 --- a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.2.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.2.bb @@ -13,7 +13,7 @@ inherit autotools features_check REQUIRED_MACHINE_FEATURES = "vdu" -BRANCH ?= "master" +BRANCH ?= "xlnx_rel_v2023.2" REPO ?= "git://github.com/Xilinx/vdu-firmware.git;protocol=https" SRCREV ?= "63fe2fce6e46d5bf03e33300a58a37d8568722ee" -- cgit v1.2.3-54-g00ecf From f2ebb7f2ce23feb22b4b73dbe4f31dd6997f0795 Mon Sep 17 00:00:00 2001 From: John Toomey Date: Tue, 29 Aug 2023 18:11:39 +0100 Subject: libvdu-ctrlsw: Update branch to xlnx_rel_v2023.2 Changelog: (none) Signed-off-by: John Toomey Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.2.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.2.bb index 19db2456..2b9af94f 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.2.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.2.bb @@ -11,7 +11,7 @@ inherit autotools features_check REQUIRED_MACHINE_FEATURES = "vdu" -BRANCH ?= "master" +BRANCH ?= "xlnx_rel_v2023.2" REPO ?= "git://github.com/Xilinx/vdu-ctrl-sw.git;protocol=https" SRCREV ?= "1beb8f247d01b1a728faea36ce8f7847c895482f" -- cgit v1.2.3-54-g00ecf From 0b89acdb332738bf4d333e775a21b00b39c39a00 Mon Sep 17 00:00:00 2001 From: John Toomey Date: Tue, 29 Aug 2023 18:11:40 +0100 Subject: kernel-module-vdu: Update branch to xlnx_rel_v2023.2 Changelog: (none) Signed-off-by: John Toomey Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2023.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2023.2.bb b/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2023.2.bb index 308b8eac..1c9ba8ad 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2023.2.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2023.2.bb @@ -11,7 +11,7 @@ PV .= "+git${SRCPV}" S = "${WORKDIR}/git" FILESEXTRAPATHS:prepend := "${THISDIR}/files:" -BRANCH ?= "master" +BRANCH ?= "xlnx_rel_v2023.2" REPO ?= "git://github.com/Xilinx/vdu-modules.git;protocol=https" SRCREV ?= "4d5134f54006f904f0b28f00e05dd3febd5fcfd3" -- cgit v1.2.3-54-g00ecf From 78253ed52d45a29cd01352f4e9f9ac602b61ed23 Mon Sep 17 00:00:00 2001 From: John Toomey Date: Tue, 29 Aug 2023 18:11:41 +0100 Subject: libomxil-xlnx: Update branch to xlnx_rel_v2023.2 Changelog: (none) Signed-off-by: John Toomey Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.2.bb b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.2.bb index 80d0155e..2c77e2b4 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.2.bb +++ b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.2.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.md;md5=ef69c2bb405668101824f0b644631e2e" XILINX_VCU_VERSION = "1.0.0" PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" -BRANCH ?= "master" +BRANCH ?= "xlnx_rel_v2023.2" REPO ?= "git://github.com/Xilinx/vcu-omx-il.git;protocol=https" SRCREV = "3a04b5adc661a0eced626c1373dbbfe699ae6fe0" -- cgit v1.2.3-54-g00ecf From 2c3fd4a029bc5408c258edee6cfd504943de2d23 Mon Sep 17 00:00:00 2001 From: John Toomey Date: Tue, 29 Aug 2023 18:11:42 +0100 Subject: kernel-module-vcu: Update branch to xlnx_rel_v2023.2 Changelog: (none) Signed-off-by: John Toomey Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2023.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2023.2.bb b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2023.2.bb index 7f2b205f..e8bd3397 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2023.2.bb +++ b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2023.2.bb @@ -11,7 +11,7 @@ S = "${WORKDIR}/git" FILESEXTRAPATHS:prepend := "${THISDIR}/files:" -BRANCH = "master" +BRANCH = "xlnx_rel_v2023.2" REPO = "git://github.com/Xilinx/vcu-modules.git;protocol=https" SRCREV = "689c8d823b383e2a8a5249be49de627f866cfaf2" -- cgit v1.2.3-54-g00ecf From 89f8ac5252d3b9c9b995ada3bf439f06f46c939e Mon Sep 17 00:00:00 2001 From: John Toomey Date: Tue, 29 Aug 2023 18:11:43 +0100 Subject: libvcu-xlnx: Update branch to xlnx_rel_v2023.2 Changelog: (none) Signed-off-by: John Toomey Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.2.bb b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.2.bb index fdadca3f..e6d38a4a 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.2.bb +++ b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.2.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.md;md5=ef69c2bb405668101824f0b644631e2e" XILINX_VCU_VERSION = "1.0.0" PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" -BRANCH ?= "master" +BRANCH ?= "xlnx_rel_v2023.2" REPO ?= "git://github.com/Xilinx/vcu-ctrl-sw.git;protocol=https" SRCREV = "84b0856cad7844d69f57ac4d9447c20930875475" -- cgit v1.2.3-54-g00ecf From 7e02f62f1a64e7ad623d3341463860ce7a5720fc Mon Sep 17 00:00:00 2001 From: John Toomey Date: Tue, 29 Aug 2023 18:11:44 +0100 Subject: vcu-firmware: Update branch to xlnx_rel_v2023.2 Changelog: (none) Signed-off-by: John Toomey Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.2.bb b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.2.bb index 4ab139fc..b4cb66df 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.2.bb +++ b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.2.bb @@ -8,7 +8,7 @@ PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', S = "${WORKDIR}/git" -BRANCH ?= "master" +BRANCH ?= "xlnx_rel_v2023.2" REPO ?= "git://github.com/Xilinx/vcu-firmware.git;protocol=https" SRCREV = "f4ab98d26aa3e244a487f518f5a76071137c8402" -- cgit v1.2.3-54-g00ecf From afc915262ca0ad47499261ddaaf59f1e42bea9c0 Mon Sep 17 00:00:00 2001 From: John Toomey Date: Tue, 29 Aug 2023 18:11:45 +0100 Subject: open-amp-xlnx: Update branch to xlnx_rel_v2023.2 Changelog: (none) Signed-off-by: John Toomey Signed-off-by: Mark Hatle --- .../openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2023.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2023.2.bb b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2023.2.bb index 0392bd86..eba124d9 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2023.2.bb +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2023.2.bb @@ -1,6 +1,6 @@ SRCBRANCH ?= "2023.2" SRCREV = "e95b02aef72a21039b1d109087788d4675475813" -BRANCH = "2023" +BRANCH = "xlnx_rel_v2023.2" LIC_FILES_CHKSUM ?= "file://LICENSE.md;md5=ab88daf995c0bd0071c2e1e55f3d3505" PV = "${SRCBRANCH}+git${SRCPV}" REPO = "git://github.com/Xilinx/open-amp.git;protocol=https" -- cgit v1.2.3-54-g00ecf From a2def9e9f7a97c5d36088ca50f56109535e493e8 Mon Sep 17 00:00:00 2001 From: John Toomey Date: Tue, 29 Aug 2023 18:11:46 +0100 Subject: libmetal-xlnx: Update branch to xlnx_rel_v2023.2 Changelog: (none) Signed-off-by: John Toomey Signed-off-by: Mark Hatle --- .../openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2023.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2023.2.bb b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2023.2.bb index 057c1ef8..7a5dc70e 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2023.2.bb +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2023.2.bb @@ -1,6 +1,6 @@ SRCBRANCH ?= "2023.2" SRCREV = "be635252271de342014a146825870b64bd41d6eb" -BRANCH = "2023" +BRANCH = "xlnx_rel_v2023.2" LIC_FILES_CHKSUM ?= "file://LICENSE.md;md5=f4d5df0f12dcea1b1a0124219c0dbab4" PV = "${SRCBRANCH}+git${SRCPV}" -- cgit v1.2.3-54-g00ecf From ff5d0b306bdae15ed5569648aed222696d5d1b5d Mon Sep 17 00:00:00 2001 From: John Toomey Date: Tue, 29 Aug 2023 18:11:47 +0100 Subject: qemu-xlnx: Update branch to xlnx_rel_v2023.2 Changelog: (none) Signed-off-by: John Toomey Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2023.2.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2023.2.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2023.2.inc index 15201959..d3effa9a 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2023.2.inc +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2023.2.inc @@ -1,3 +1,3 @@ XILINX_QEMU_VERSION = "v7.1.0" -BRANCH = "master" +BRANCH = "xlnx_rel_v2023.2" SRCREV = "5b17802c28879d2150df5ea16d8719aab3ee26a0" -- cgit v1.2.3-54-g00ecf From 56eb1df96955f3aeea8df7f4abee8df5e659dc8d Mon Sep 17 00:00:00 2001 From: John Toomey Date: Tue, 29 Aug 2023 18:11:48 +0100 Subject: qemu-devicetrees: Update branch to xlnx_rel_v2023.2 Changelog: (none) Signed-off-by: John Toomey Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2023.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2023.2.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2023.2.bb index 5db8c0b9..f6791406 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2023.2.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2023.2.bb @@ -1,6 +1,6 @@ require qemu-devicetrees.inc -BRANCH ?= "master" +BRANCH ?= "xlnx_rel_v2023.2" SRCREV ?= "86b1a621919f2fb27e5ef4120fcacde67d43368d" -- cgit v1.2.3-54-g00ecf From fc2d421d01224f283e9d456332ee0bc34715b22a Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Tue, 29 Aug 2023 17:08:45 -0500 Subject: bootgen: Update branch to xlnx_rel_v2023.2 Changelog: (none) Signed-off-by: Mark Hatle --- .../recipes-bsp/bootgen/bootgen_2023.2.bb | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 meta-xilinx-core/recipes-bsp/bootgen/bootgen_2023.2.bb diff --git a/meta-xilinx-core/recipes-bsp/bootgen/bootgen_2023.2.bb b/meta-xilinx-core/recipes-bsp/bootgen/bootgen_2023.2.bb new file mode 100644 index 00000000..cd4b1e36 --- /dev/null +++ b/meta-xilinx-core/recipes-bsp/bootgen/bootgen_2023.2.bb @@ -0,0 +1,31 @@ +SUMMARY = "Building and installing bootgen" +DESCRIPTION = "Building and installing bootgen, a Xilinx tool that lets you stitch binary files together and generate device boot images" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d526b6d0807bf263b97da1da876f39b1" + +S = "${WORKDIR}/git" + +DEPENDS += "openssl" +RDEPENDS:${PN} += "openssl" + +REPO ?= "git://github.com/Xilinx/bootgen.git;protocol=https" +BRANCH = "xlnx_rel_v2023.2" +SRCREV = "4f1e1caf2c09cdeacc35cbeedaf2550c6e44c7fd" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = "${REPO};${BRANCHARG}" + +EXTRA_OEMAKE += 'CROSS_COMPILER="${CXX}" -C ${S}' +CXXFLAGS:append = " -std=c++0x" + +TARGET_CC_ARCH += "${LDFLAGS}" + +do_install() { + install -d ${D}${bindir} + install -Dm 0755 ${S}/bootgen ${D}${bindir} +} + +FILES:${PN} = "${bindir}/bootgen" + +BBCLASSEXTEND = "native nativesdk" -- cgit v1.2.3-54-g00ecf From 5156344dab8afc6a2c093d11c165d9147fb3ced1 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Tue, 29 Aug 2023 17:10:58 -0500 Subject: libvdu-omxil: Update branch to xlnx_rel_v2023.2 Changelog: (none) Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.2.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.2.bb index 466153d1..f6f159d2 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.2.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.2.bb @@ -7,7 +7,7 @@ XILINX_VDU_VERSION = "1.0.0" PV =. "${XILINX_VDU_VERSION}-xilinx-v" PV .= "+git${SRCPV}" -BRANCH ?= "master" +BRANCH ?= "xlnx_rel_v2023.2" REPO ?= "git://github.com/Xilinx/vdu-omx-il.git;protocol=https" SRCREV ?= "811eefac953fd5e098c69cada97a0dd35f5e9015" -- cgit v1.2.3-54-g00ecf From 77cd6407764292e16527578f91d50cc7f3d880e8 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Thu, 7 Sep 2023 15:48:30 -0500 Subject: Updated Commit ID Changelog: (dropped) Kconfig.part: Updated System Architecture as Subsystem Architecture (added) gen_yocto_machine.py: Instead of ATF_CONSOLE_DEFAULT variable add ATF_CONSOLE Signed-off-by: Mark Hatle --- meta-xilinx-core/gen-machine-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf index b98f7351..357e8ea4 160000 --- a/meta-xilinx-core/gen-machine-conf +++ b/meta-xilinx-core/gen-machine-conf @@ -1 +1 @@ -Subproject commit b98f73514d99663c9b5040947c39f6494496384a +Subproject commit 357e8ea40cbcd0944221d10e9f7ac3323951ae9e -- cgit v1.2.3-54-g00ecf From e1721285eb79c0660c07bd569188362239f07ab5 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Thu, 7 Sep 2023 15:54:09 -0500 Subject: embeddedsw : Updated SRCREV for 2023.2_2975 xilpm: versal_net: fix force power down issue xilpm: versal_net: fix suspend resume issue xilpm: versal_net: Add DDRMC5 bisr support sw_services: xilpuf: Declare variables that are passed to server in data section sw_services:xilloader:Added Redundancy for KekSrc sw_apps:versal_plm:EAM Error Check After PMC CDO sw_services:xilplmi:Security Review Fixes iicps: Add SDT flow support for xiicps_eeprom_intr_example iicps: Update Receive Polled and Interrupt Handler functions as modular gpiops: Add support for pmc, versal and versal-net in sdt flow Signed-off-by: Siva Addepalli --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 1d242550..e81ffe25 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -9,7 +9,7 @@ ESW_BRANCH[2024.1] = "xlnx_rel_v2023.2-next" BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[2023.1] = "e24fe92b5517ee447e560790e798cad792f53bab" -ESW_REV[2023.2] = "8070822a60c8a6e869522e9febd72ed7b188358d" +ESW_REV[2023.2] = "6ccd026d115ed986ccb1541c62dc7dac21bf2ab8" ESW_REV[2024.1] = "8070822a60c8a6e869522e9febd72ed7b188358d" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" -- cgit v1.2.3-54-g00ecf From f5152adc3281fb66fbd9e666b80ec163f188b06a Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 31 Aug 2023 13:09:48 +0530 Subject: aie-rt : Updated SRCREV for 2023.2_1763 driver: src: global: Correct documentation driver: src: Fixed MisraC mandatory violations driver: src: rsc: Fix resource (file descriptor) leak Signed-off-by: Siva Addepalli --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index 70eadd74..38bb7f9f 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "xlnx_rel_v2023.2" -SRCREV ?= "83c84d3c9617f1b9d71bdcbf6e89b2794f749c78" +SRCREV ?= "c4b61e22a59b72ea40a8ff8bf1b75e321e58682f" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From 79ee71a293cd4c9b7089fb247fd1813cffa64c38 Mon Sep 17 00:00:00 2001 From: saumya garg Date: Tue, 29 Aug 2023 17:56:30 +0530 Subject: xrt, zocl: Update commit id Changelog: Fix for CR-1170857, CR-1114740, CR-1114732 (#7669) Including Install Instructions for RHEL 9.x (#7672) Moving to petalinux version petalinux-v2023.2_08251450 (#7680) Fixed CR-1160856 (#7668) moving to latest petalinux (#7673) Update petalinux.build to stable version (#7677) Signed-off-by: saumya garg Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-xrt/xrt/xrt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc index 319b804a..08ad0f77 100644 --- a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc @@ -3,7 +3,7 @@ BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != ' SRC_URI = "${REPO};${BRANCHARG}" BRANCH= "master" -SRCREV= "eba10b68e5704a0070da1d7a958fdc11f58c3721" +SRCREV= "ff10e98baa0538aa6014fda44631f4c35fc577e0" PV = "202320.2.16.0" SRC_URI += "git://github.com/Xilinx/dma_ip_drivers.git;branch=master;name=dma_ip_drivers;destsuffix=git/src/runtime_src/core/pcie/driver/linux/xocl/lib/libqdma;protocol=https" -- cgit v1.2.3-54-g00ecf From 232b687a3fac78c2d88f9163bfc4d1e9dbd962b9 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Wed, 30 Aug 2023 16:14:27 -0600 Subject: meta-xilinx-bsp:machine: Use ATF_CONSOLE instead of ATF_CONSOLE_DEFAULT In arm-trusted-firmware recipe, ATF_CONSOLE_DEFAULT variable has override and setting this variable value from local.conf and machine.conf will not be effective during variable pre-expansion values. Hence use ATF_CONSOLE instead of ATF_CONSOLE_DEFAULT in machine conf files. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- meta-xilinx-bsp/conf/machine/vck190-versal.conf | 2 +- meta-xilinx-bsp/conf/machine/vck5000-versal.conf | 2 +- meta-xilinx-bsp/conf/machine/vek280-versal.conf | 2 +- meta-xilinx-bsp/conf/machine/vhk158-versal.conf | 2 +- meta-xilinx-bsp/conf/machine/vmk180-versal.conf | 2 +- meta-xilinx-bsp/conf/machine/vpk120-versal.conf | 2 +- meta-xilinx-bsp/conf/machine/vpk180-versal.conf | 2 +- meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf | 2 +- meta-xilinx-bsp/conf/machine/zcu104-zynqmp.conf | 2 +- meta-xilinx-bsp/conf/machine/zcu106-zynqmp.conf | 2 +- meta-xilinx-bsp/conf/machine/zcu111-zynqmp.conf | 2 +- meta-xilinx-bsp/conf/machine/zcu208-zynqmp.conf | 2 +- meta-xilinx-bsp/conf/machine/zcu216-zynqmp.conf | 2 +- meta-xilinx-bsp/conf/machine/zcu670-zynqmp.conf | 2 +- 14 files changed, 14 insertions(+), 14 deletions(-) diff --git a/meta-xilinx-bsp/conf/machine/vck190-versal.conf b/meta-xilinx-bsp/conf/machine/vck190-versal.conf index db5d0a95..ed049268 100644 --- a/meta-xilinx-bsp/conf/machine/vck190-versal.conf +++ b/meta-xilinx-bsp/conf/machine/vck190-versal.conf @@ -15,7 +15,7 @@ YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "CIPS_0_pspmc_0_psv_sbsauart_0" YAML_DT_BOARD_FLAGS ?= "{BOARD versal-vck190-reva-x-ebm-01-reva}" # Yocto arm-trusted-firmware(TF-A) variables -ATF_CONSOLE_DEFAULT ?= "pl011" +ATF_CONSOLE ?= "pl011" TFA_BL33_LOAD ?= "0x8000000" # Yocto PLM variables diff --git a/meta-xilinx-bsp/conf/machine/vck5000-versal.conf b/meta-xilinx-bsp/conf/machine/vck5000-versal.conf index 975cde93..9396bd97 100644 --- a/meta-xilinx-bsp/conf/machine/vck5000-versal.conf +++ b/meta-xilinx-bsp/conf/machine/vck5000-versal.conf @@ -15,7 +15,7 @@ YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "versal_cips_0_pspmc_0_psv_sbsauart YAML_DT_BOARD_FLAGS ?= "{BOARD template}" # Yocto arm-trusted-firmware(TF-A) variables -ATF_CONSOLE_DEFAULT ?= "pl011" +ATF_CONSOLE ?= "pl011" TFA_BL33_LOAD ?= "0x8000000" # Yocto PLM variables diff --git a/meta-xilinx-bsp/conf/machine/vek280-versal.conf b/meta-xilinx-bsp/conf/machine/vek280-versal.conf index 75723946..625cbca1 100644 --- a/meta-xilinx-bsp/conf/machine/vek280-versal.conf +++ b/meta-xilinx-bsp/conf/machine/vek280-versal.conf @@ -15,7 +15,7 @@ YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "CIPS_0_pspmc_0_psv_sbsauart_0" YAML_DT_BOARD_FLAGS ?= "{BOARD versal-vek280-revb}" # Yocto arm-trusted-firmware(TF-A) variables -ATF_CONSOLE_DEFAULT ?= "pl011" +ATF_CONSOLE ?= "pl011" TFA_BL33_LOAD ?= "0x8000000" # Yocto PLM variables diff --git a/meta-xilinx-bsp/conf/machine/vhk158-versal.conf b/meta-xilinx-bsp/conf/machine/vhk158-versal.conf index e22f264c..b09bde28 100644 --- a/meta-xilinx-bsp/conf/machine/vhk158-versal.conf +++ b/meta-xilinx-bsp/conf/machine/vhk158-versal.conf @@ -15,7 +15,7 @@ YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "versal_cips_0_pspmc_0_psv_sbsauart YAML_DT_BOARD_FLAGS ?= "{BOARD versal-vhk158-reva}" # Yocto arm-trusted-firmware(TF-A) variables -ATF_CONSOLE_DEFAULT ?= "pl011" +ATF_CONSOLE ?= "pl011" TFA_BL33_LOAD ?= "0x8000000" # Yocto PLM variables diff --git a/meta-xilinx-bsp/conf/machine/vmk180-versal.conf b/meta-xilinx-bsp/conf/machine/vmk180-versal.conf index d0d58b0f..0f474f78 100644 --- a/meta-xilinx-bsp/conf/machine/vmk180-versal.conf +++ b/meta-xilinx-bsp/conf/machine/vmk180-versal.conf @@ -15,7 +15,7 @@ YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "versal_cips_0_pspmc_0_psv_sbsauart YAML_DT_BOARD_FLAGS ?= "{BOARD versal-vmk180-reva-x-ebm-01-reva}" # Yocto arm-trusted-firmware(TF-A) variables -ATF_CONSOLE_DEFAULT ?= "pl011" +ATF_CONSOLE ?= "pl011" TFA_BL33_LOAD ?= "0x8000000" # Yocto PLM variables diff --git a/meta-xilinx-bsp/conf/machine/vpk120-versal.conf b/meta-xilinx-bsp/conf/machine/vpk120-versal.conf index b9f36564..e200d42d 100644 --- a/meta-xilinx-bsp/conf/machine/vpk120-versal.conf +++ b/meta-xilinx-bsp/conf/machine/vpk120-versal.conf @@ -15,7 +15,7 @@ YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "versal_cips_0_pspmc_0_psv_sbsauart YAML_DT_BOARD_FLAGS ?= "{BOARD versal-vpk120-reva}" # Yocto arm-trusted-firmware(TF-A) variables -ATF_CONSOLE_DEFAULT ?= "pl011" +ATF_CONSOLE ?= "pl011" TFA_BL33_LOAD ?= "0x8000000" # Yocto PLM variables diff --git a/meta-xilinx-bsp/conf/machine/vpk180-versal.conf b/meta-xilinx-bsp/conf/machine/vpk180-versal.conf index 9b06ef8f..92630e97 100644 --- a/meta-xilinx-bsp/conf/machine/vpk180-versal.conf +++ b/meta-xilinx-bsp/conf/machine/vpk180-versal.conf @@ -15,7 +15,7 @@ YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "versal_cips_0_pspmc_0_psv_sbsauart YAML_DT_BOARD_FLAGS ?= "{BOARD versal-vpk180-reva}" # Yocto arm-trusted-firmware(TF-A) variables -ATF_CONSOLE_DEFAULT ?= "pl011" +ATF_CONSOLE ?= "pl011" TFA_BL33_LOAD ?= "0x8000000" # Yocto PLM variables diff --git a/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf b/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf index 9e5e556a..acd2544a 100644 --- a/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf +++ b/meta-xilinx-bsp/conf/machine/zcu102-zynqmp.conf @@ -16,7 +16,7 @@ YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "PSU_DDR_0" YAML_DT_BOARD_FLAGS ?= "{BOARD zcu102-rev1.0}" # Yocto arm-trusted-firmware(TF-A) variables -ATF_CONSOLE_DEFAULT ?= "cadence" +ATF_CONSOLE ?= "cadence" TFA_BL33_LOAD ?= "0x8000000" # Yocto PMUFW variables diff --git a/meta-xilinx-bsp/conf/machine/zcu104-zynqmp.conf b/meta-xilinx-bsp/conf/machine/zcu104-zynqmp.conf index 80bd34de..b4c11f3a 100644 --- a/meta-xilinx-bsp/conf/machine/zcu104-zynqmp.conf +++ b/meta-xilinx-bsp/conf/machine/zcu104-zynqmp.conf @@ -16,7 +16,7 @@ YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "PSU_DDR_0" YAML_DT_BOARD_FLAGS ?= "{BOARD zcu104-revc}" # Yocto arm-trusted-firmware(TF-A) variables -ATF_CONSOLE_DEFAULT ?= "cadence" +ATF_CONSOLE ?= "cadence" TFA_BL33_LOAD ?= "0x8000000" # Yocto PMUFW variables diff --git a/meta-xilinx-bsp/conf/machine/zcu106-zynqmp.conf b/meta-xilinx-bsp/conf/machine/zcu106-zynqmp.conf index be48e178..ff273134 100644 --- a/meta-xilinx-bsp/conf/machine/zcu106-zynqmp.conf +++ b/meta-xilinx-bsp/conf/machine/zcu106-zynqmp.conf @@ -16,7 +16,7 @@ YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "PSU_DDR_0" YAML_DT_BOARD_FLAGS ?= "{BOARD zcu106-reva}" # Yocto arm-trusted-firmware(TF-A) variables -ATF_CONSOLE_DEFAULT ?= "cadence" +ATF_CONSOLE ?= "cadence" TFA_BL33_LOAD ?= "0x8000000" # Yocto PMUFW variables diff --git a/meta-xilinx-bsp/conf/machine/zcu111-zynqmp.conf b/meta-xilinx-bsp/conf/machine/zcu111-zynqmp.conf index 4cf028de..77da93ca 100644 --- a/meta-xilinx-bsp/conf/machine/zcu111-zynqmp.conf +++ b/meta-xilinx-bsp/conf/machine/zcu111-zynqmp.conf @@ -16,7 +16,7 @@ YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "PSU_DDR_0" YAML_DT_BOARD_FLAGS ?= "{BOARD zcu111-reva}" # Yocto arm-trusted-firmware(TF-A) variables -ATF_CONSOLE_DEFAULT ?= "cadence" +ATF_CONSOLE ?= "cadence" TFA_BL33_LOAD ?= "0x8000000" # Yocto PMUFW variables diff --git a/meta-xilinx-bsp/conf/machine/zcu208-zynqmp.conf b/meta-xilinx-bsp/conf/machine/zcu208-zynqmp.conf index be1f310c..7bb2c9db 100644 --- a/meta-xilinx-bsp/conf/machine/zcu208-zynqmp.conf +++ b/meta-xilinx-bsp/conf/machine/zcu208-zynqmp.conf @@ -16,7 +16,7 @@ YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "PSU_DDR_0" YAML_DT_BOARD_FLAGS ?= "{BOARD zcu208-reva}" # Yocto arm-trusted-firmware(TF-A) variables -ATF_CONSOLE_DEFAULT ?= "cadence" +ATF_CONSOLE ?= "cadence" TFA_BL33_LOAD ?= "0x8000000" # Yocto PMUFW variables diff --git a/meta-xilinx-bsp/conf/machine/zcu216-zynqmp.conf b/meta-xilinx-bsp/conf/machine/zcu216-zynqmp.conf index cd2644af..f4e1619d 100644 --- a/meta-xilinx-bsp/conf/machine/zcu216-zynqmp.conf +++ b/meta-xilinx-bsp/conf/machine/zcu216-zynqmp.conf @@ -16,7 +16,7 @@ YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "PSU_DDR_0" YAML_DT_BOARD_FLAGS ?= "{BOARD zcu216-reva}" # Yocto arm-trusted-firmware(TF-A) variables -ATF_CONSOLE_DEFAULT ?= "cadence" +ATF_CONSOLE ?= "cadence" TFA_BL33_LOAD ?= "0x8000000" # Yocto PMUFW variables diff --git a/meta-xilinx-bsp/conf/machine/zcu670-zynqmp.conf b/meta-xilinx-bsp/conf/machine/zcu670-zynqmp.conf index 48f81474..c726e9f5 100644 --- a/meta-xilinx-bsp/conf/machine/zcu670-zynqmp.conf +++ b/meta-xilinx-bsp/conf/machine/zcu670-zynqmp.conf @@ -16,7 +16,7 @@ YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "PSU_DDR_0" YAML_DT_BOARD_FLAGS ?= "{BOARD zcu670-revb}" # Yocto arm-trusted-firmware(TF-A) variables -ATF_CONSOLE_DEFAULT ?= "cadence" +ATF_CONSOLE ?= "cadence" TFA_BL33_LOAD ?= "0x8000000" # Yocto PMUFW variables -- cgit v1.2.3-54-g00ecf From 09d0ee69c38f5a458b62a1f560394cfe610c0979 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Wed, 30 Aug 2023 16:14:28 -0600 Subject: ultra96-zynqmp: Use ATF_CONSOLE instead of ATF_CONSOLE_DEFAULT In arm-trusted-firmware recipe, ATF_CONSOLE_DEFAULT variable has override and setting this variable value from local.conf and machine.conf will not be effective during variable pre-expansion values. Hence use ATF_CONSOLE instead of ATF_CONSOLE_DEFAULT in machine conf files. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- meta-xilinx-vendor/conf/machine/ultra96-zynqmp.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-vendor/conf/machine/ultra96-zynqmp.conf b/meta-xilinx-vendor/conf/machine/ultra96-zynqmp.conf index 57f31c93..daa73f2a 100644 --- a/meta-xilinx-vendor/conf/machine/ultra96-zynqmp.conf +++ b/meta-xilinx-vendor/conf/machine/ultra96-zynqmp.conf @@ -16,7 +16,7 @@ YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "PSU_DDR_0" YAML_DT_BOARD_FLAGS ?= "{BOARD avnet-ultra96-rev1}" # Yocto arm-trusted-firmware(TF-A) variables -ATF_CONSOLE_DEFAULT ?= "cadence1" +ATF_CONSOLE ?= "cadence1" TFA_BL33_LOAD ?= "0x8000000" # Yocto PMUFW variables -- cgit v1.2.3-54-g00ecf From a81e88bf4b5e871f0c0b8ca94ca8a1c98ff01fb3 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Wed, 30 Aug 2023 16:14:29 -0600 Subject: README: Update README on using ATF_CONSOLE Update README on using ATF_CONSOLE instead of ATF_CONSOLE_DEFAULT. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/machine/README | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/conf/machine/README b/meta-xilinx-core/conf/machine/README index 0b018b61..de8cf58d 100644 --- a/meta-xilinx-core/conf/machine/README +++ b/meta-xilinx-core/conf/machine/README @@ -199,7 +199,7 @@ YAML_DT_BOARD_FLAGS:pn-device-tree - YAML based configuration for setting eval board specific dtsi files available in DTG repo. arm-trusted-firmware recipe from meta-xilinx-core: -ATF_CONSOLE_DEFAULT - Uart console configuration for all aarch64 device families. +ATF_CONSOLE - Uart console configuration for all aarch64 device families. Example: pl011 or cadence or cadence1 etc,. TFA_BL33_LOAD - BL33 preloadded base address to EXTRA_OEMAKE for aarch64. -- cgit v1.2.3-54-g00ecf From 2cd3ccd88a1348ae5ef500055ed7d9c1342d6125 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 5 Sep 2023 12:46:49 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2023.2_1791 arm64: versal-net: Fix sysmon interrupt number Signed-off-by: Siva Addepalli --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc index 87839254..4165543b 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2023.01" UBRANCH = "xlnx_rebase_v2023.01" -SRCREV = "ce3aa5cdb1b01239466028eabf918e3e0ba1d529" +SRCREV = "5af51afd459eaf5bac81ff5315fad0b2ee20972a" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From 1a892bb945054125207c3350500c93643064ac92 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 5 Sep 2023 12:50:53 +0530 Subject: embeddedsw : Updated SRCREV for 2023.2_3567 sw_services:xilnvm: Fix SW-BP-REDUNDANCY drivers: trngpsx: Add volatile keyword to avoid optimization drivers: trngpsx: Remove Dead code sw_services:xilsecure: Fix updating KAT mask bits for external modules gpio: Add support for peripheral test for gpio in SDT flow sw_services: xilplmi: Reread from efuse cache sw_apps:versal_plm: Change exception print to DEBUG_PRINT_ALWAYS sw_services:xilplmi: DEBUG_PRINT_ALWAYS for critical error prints sw_services:xilplmi: Change PLM debug level to 0 for XilSEM xdmapcie: Replace csr-slcr property to populate xilpm: versal_net: clear pcil for rpu only sw_services:xilplmi:Added PSM Address range check xilpm: versal_net: skip halt if core is powered down sw_services:xilplmi:Updated IPI Timeout Value Revert "Revert "sw_services:xilsecure:Fix ECDSA boot failure on qemu"" xilsem: Replace Versal net SHA3 instance function with new API name avbuf: Ported changes for using the SDT flow dpdma: Ported changes for using the SDT flow dppsu: Ported changes for using the SDT flow Signed-off-by: Siva Addepalli --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index e81ffe25..36ef59b3 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -9,8 +9,8 @@ ESW_BRANCH[2024.1] = "xlnx_rel_v2023.2-next" BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[2023.1] = "e24fe92b5517ee447e560790e798cad792f53bab" -ESW_REV[2023.2] = "6ccd026d115ed986ccb1541c62dc7dac21bf2ab8" -ESW_REV[2024.1] = "8070822a60c8a6e869522e9febd72ed7b188358d" +ESW_REV[2023.2] = "4b382e452bdc148cb10c99da03f0201150dbfe4d" +ESW_REV[2024.1] = "4b382e452bdc148cb10c99da03f0201150dbfe4d" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From b6efdf0b807cca4ab744f14a690b08664fc9498f Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 5 Sep 2023 23:47:49 +0530 Subject: linux-xlnx : Updated SRCREV for 2023.2_5539 mtd: spi-nor: Fix timeout issue with winbond multi die flash dt-bindings: net: xilinx_gmii2rgmii: Convert to json schema staging: xilinx_hdcp: Add mmult support for HDCP2x Rx staging: xilinx_hdcp: Add HDCP2x Rx cipher support staging: xilinx_hdcp: Add support for HDCP2x Rx arm64: versal-net: Fix sysmon interrupt number watchdog: of_xilinx_wdt: Remove unnecessary clock disable call in the remove path watchdog: of_xilinx_wdt: Use devm_clk_get_enabled() helper drivers: soc: xilinx: add check for platform firmware: xilinx: Register event manager driver drivers: soc: xilinx: add versal-net error event ids and masks drivers: soc: xilinx: rename error event header file for versal drivers: soc: xilinx: rename versal error event ids and masks Signed-off-by: Siva Addepalli --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.2.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.2.bb index ce505895..98257604 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.2.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.2.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.1.30" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.1;destsuffix=yocto-kmeta" KBRANCH="xlnx_rebase_v6.1_LTS" -SRCREV = "5cfa8a2ffb8ecdb3388280bf95dd82349e26a5fb" +SRCREV = "b88eef72401fcc3c669c785fdf114997bd63a5ac" SRCREV_meta = "185bcfcbe480c742247d9117011794c69682914f" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From 328b6c6617b230cc55776ca652b1d8e057f0db2a Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Tue, 5 Sep 2023 12:45:41 +0530 Subject: Updated SRCREV of dfx-mgr for 2023.2_2207 README.md: AIE and graph notes README.md: add libdfx, XRT, kria-dfx-hw links dfx_mgr: avoid reading Clear-On-Read register client: API to set Data-Mover configuration client: list or set Data-Mover configuration dfx_mgr: display or configure Data-Movers dfx-mgr: get Inter-RP address from shell.json accel: Use sbustring match to get VA address dfx-mgrd: add uid, pid checks Signed-off-by: Siva Addepalli Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.2.bb b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.2.bb index 23057050..0d24c9fc 100644 --- a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.2.bb +++ b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.2.bb @@ -9,7 +9,7 @@ BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != ' SRC_URI = "${REPO};${BRANCHARG}" BRANCH = "xlnx_rel_v2023.2" -SRCREV = "d78eac47f17bca4326a4540ff5d2ebea7d9c45ed" +SRCREV = "4dbd33accb043bd92ecbec2a3507f85a22045c51" SOMAJOR = "1" SOMINOR = "0" SOVERSION = "${SOMAJOR}.${SOMINOR}" -- cgit v1.2.3-54-g00ecf From 75a6e22da277dbf4e12e6fdad572693692d4514d Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 6 Sep 2023 17:46:01 +0530 Subject: linux-xlnx : Updated SRCREV for 2023.2_8435 v4l2: xilinx: dprx: Add HDCP2x support v4l2: xilinx: Add HDCP2x Rx support config: xilinx: versal: Enable reset-controller ptp: xilinx: Add workaround for EXTTS interrupt handling spi: spi-zynq-qspi: Fix issue in accessing the upper flash Signed-off-by: Siva Addepalli --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.2.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.2.bb index 98257604..88651319 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.2.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.2.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.1.30" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.1;destsuffix=yocto-kmeta" KBRANCH="xlnx_rebase_v6.1_LTS" -SRCREV = "b88eef72401fcc3c669c785fdf114997bd63a5ac" +SRCREV = "63a2ddb4ca597d67d4e4e858761c1f7ff81ebd11" SRCREV_meta = "185bcfcbe480c742247d9117011794c69682914f" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From 64d510abf1698b7583ec973bcda5a1abbe445f43 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 6 Sep 2023 18:36:35 +0530 Subject: aie-rt : Updated SRCREV for 2023.2_4663 driver:src: Added the new transaction bufffer header to include dir driver: src: dma: Convert DMA WriteBD operations to BlockWrite operations for shim DMA BD driver:src:Add consistant way to access custom Opearator driver: src: global: Minor fixes to doxygen documentation Signed-off-by: Siva Addepalli --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index 38bb7f9f..d454f44b 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "xlnx_rel_v2023.2" -SRCREV ?= "c4b61e22a59b72ea40a8ff8bf1b75e321e58682f" +SRCREV ?= "6311e50b014833568945edb3dc456f996a5da9d2" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From 5168f5803513ef225baa515bfbce82d370a2bced Mon Sep 17 00:00:00 2001 From: Varalaxmi Bingi Date: Mon, 4 Sep 2023 16:48:40 +0530 Subject: xrt.inc:adding name to src_rev There are multiple SRC_URI's in xrt recipe file. Getting below warning if we wont specify the name to SRCREV Warning: WARNING: xrt-202320.2.16.0-r0 do_package_qa_setscene: ExpansionError('SRCPV', '${@bb.fetch2.get_srcrev(d)}', FetchError('The SRCREV_FORMAT variable must be set when multiple SCMs are used.\nThe SCMs are:\ngit://github.com/Xilinx/XRT.git;protocol=https;branch=master\ngit://github.com/Xilinx/dma_ip_drivers.git;branch=master;name=dma_ip_drivers;destsuffix=git/src/runtime_src/core/pcie/driver/linux/xocl/lib/libqdma;protocol=https\ngit://github.com/serge1/ELFIO.git;branch=main;name=ELFIO;destsuffix=git/src/runtime_src/core/common/elf;protocol=https', None)) Signed-off-by: Varalaxmi Bingi Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-xrt/xrt/xrt.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc index 08ad0f77..95c8de8e 100644 --- a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc @@ -1,9 +1,9 @@ REPO ?= "git://github.com/Xilinx/XRT.git;protocol=https" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" -SRC_URI = "${REPO};${BRANCHARG}" +SRC_URI = "${REPO};${BRANCHARG};name=xrt" BRANCH= "master" -SRCREV= "ff10e98baa0538aa6014fda44631f4c35fc577e0" +SRCREV_xrt = "ff10e98baa0538aa6014fda44631f4c35fc577e0" PV = "202320.2.16.0" SRC_URI += "git://github.com/Xilinx/dma_ip_drivers.git;branch=master;name=dma_ip_drivers;destsuffix=git/src/runtime_src/core/pcie/driver/linux/xocl/lib/libqdma;protocol=https" -- cgit v1.2.3-54-g00ecf From fd6f7934037becd2a9bbf54692216c02e275ecb4 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 6 Sep 2023 21:48:17 +0530 Subject: aie-rt : Updated SRCREV for 2023.2_7699 driver:src: fixe the BD iteration value boundary check Signed-off-by: Siva Addepalli --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index d454f44b..8271189d 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "xlnx_rel_v2023.2" -SRCREV ?= "6311e50b014833568945edb3dc456f996a5da9d2" +SRCREV ?= "600c74adc4759a1df40f767edf11b41949b52728" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From 796daff6ad7d5a241a967bee8b09f5e41b7a35f3 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 6 Sep 2023 21:47:53 +0530 Subject: embeddedsw : Updated SRCREV for 2023.2_7295 xilnvm: Validate DME key before programming xilocp: XPPU configurations for DME operations sdps: change data type of BaseAddress sdps: Fix MISRA C-2012 Rule 8.5 violation sdps: Fix MISRA C-2012 Rule 15.5 violation sdps: Fix MISRA C-2012 Rule 14.4 violation sdps: Fix MISRA C-2012 Rule 12.1 violation sdps: Fix MISRA C-2012 Rule 10.6 violation sdps: Fix MISRA C-2012 Rule 10.4 violation sdps: Fix MISRA C-2012 Rule 10.1 violation sdps: Fix MISRA C-2012 Rule 4.7 violation ipipsu: Fix HIS_COMF violations qspipsu: src: Fix code format issues with checkpatch tool qspipsu: src: Update Polled transfer and Interrupt Handler functions as modular xilfpga: Add proper ifdef platform checks sw_services: xilmailbox: Fix HIS_COMF violations sw_services: xilplmi: Added the NullCheck for EmInit parameters update Embedded SW license file for 2023.2 release sw_apps: imgsel: versal image selector clean up sw_services:xilskey: Fixed MISRA-C Rule 8.5 violation rfdc: SDT Add Dependency Files Signed-off-by: Siva Addepalli --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 36ef59b3..e4e78038 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -9,8 +9,8 @@ ESW_BRANCH[2024.1] = "xlnx_rel_v2023.2-next" BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[2023.1] = "e24fe92b5517ee447e560790e798cad792f53bab" -ESW_REV[2023.2] = "4b382e452bdc148cb10c99da03f0201150dbfe4d" -ESW_REV[2024.1] = "4b382e452bdc148cb10c99da03f0201150dbfe4d" +ESW_REV[2023.2] = "27ae5596270e2e4cc6a0ae23bcc80d49b4754724" +ESW_REV[2024.1] = "27ae5596270e2e4cc6a0ae23bcc80d49b4754724" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" @@ -18,7 +18,7 @@ EMBEDDEDSW_SRCURI ?= "${REPO};${EMBEDDEDSW_BRANCHARG}" LICENSE = "MIT" LIC_FILES_CHKSUM[xlnx_rel_v2023.1] = '3c310a3ee2197a4c92c6a0e2937c207c' -LIC_FILES_CHKSUM[xlnx_rel_v2023.2-next] = '3c310a3ee2197a4c92c6a0e2937c207c' +LIC_FILES_CHKSUM[xlnx_rel_v2023.2-next] = '6677b545d223964a4906f97a2229bfc5' LIC_FILES_CHKSUM ??= "file://license.txt;md5=${@d.getVarFlag('LIC_FILES_CHKSUM', d.getVar('BRANCH')) or '0'}" SRC_URI = "${EMBEDDEDSW_SRCURI}" -- cgit v1.2.3-54-g00ecf From 44f5172679a0c88b7959abe0c64e7646de7ee13b Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 7 Sep 2023 12:45:43 +0530 Subject: arm-trusted-firmware : Updated SRCREV for 2023.2_8051 fix(xilinx): update dtb when dtb address and tf-a ddr flow is used fix(versal): use correct macro name for ocm base address Signed-off-by: Siva Addepalli --- .../recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2023.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2023.2.bb b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2023.2.bb index 26c24498..6ebd6cb5 100644 --- a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2023.2.bb +++ b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2023.2.bb @@ -1,5 +1,5 @@ ATF_VERSION = "2.8" -SRCREV = "1ce681f023ba57a16c72538ee124a106cc4b3988" +SRCREV = "6be857cb66300fb21e3f61308e4197911c8ac30d" BRANCH = "xlnx_rebase_v2.8" LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031" -- cgit v1.2.3-54-g00ecf From 12ca8919968f7603f7c2d260a04a7b3d0a8c90aa Mon Sep 17 00:00:00 2001 From: saumya garg Date: Wed, 6 Sep 2023 15:09:24 +0530 Subject: xrt, zocl: Update commit id Changelog: changing the dt names of versal nodes. (#7690) CR-1173506 Segmentation fault when running VAI application (#7689) Fix for CR-1146345 (#7688) CR-1155098 Missing host memory status in Platform report (#7675) CR-1173328 Add argument validation check after checking for configurations (#7686) VITIS-9039 Add an IPU specific test to validate (#7676) Fix ert_false issue for versal device (#7685) VITIS-9224 Xbutil Enhancements for Power Management (#7682) Remove stray prints (#7684) Fixes for CR-1167717, CR-1173167, and CR-1173061 (#7681) Use driver store path for xilinx_xrt on Windows (#7679) Updates to Profiling/Trace PS kernels (#7670) CR-1121893 Fix edge build for debian flow (#7671) Signed-off-by: saumya garg Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-xrt/xrt/xrt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc index 95c8de8e..fcb9574e 100644 --- a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc @@ -3,7 +3,7 @@ BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != ' SRC_URI = "${REPO};${BRANCHARG};name=xrt" BRANCH= "master" -SRCREV_xrt = "ff10e98baa0538aa6014fda44631f4c35fc577e0" +SRCREV_xrt = "efdc361cbecfd9e2968d632b4606bdf9276268dc" PV = "202320.2.16.0" SRC_URI += "git://github.com/Xilinx/dma_ip_drivers.git;branch=master;name=dma_ip_drivers;destsuffix=git/src/runtime_src/core/pcie/driver/linux/xocl/lib/libqdma;protocol=https" -- cgit v1.2.3-54-g00ecf From c339d31945d237d2af3bd1513d17a8629d7d7776 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Tue, 5 Sep 2023 18:57:08 -0600 Subject: boot.cmd.generic.root: Add kernel command line param support Add kernel command line parameters support in boot.scr, With this user can append additional kernel command line parameters to existing bootargs. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- .../recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.generic.root | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.generic.root b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.generic.root index 816707cb..ed12f941 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.generic.root +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.generic.root @@ -15,7 +15,7 @@ do if test "${boot_target}" = "jtag" ; then fdt addr @@DEVICETREE_ADDRESS@@ fdt get value bootargs /chosen bootargs - setenv bootargs $bootargs @@KERNEL_ROOT_RAMDISK@@ + setenv bootargs $bootargs @@KERNEL_COMMAND_APPEND@@ @@KERNEL_ROOT_RAMDISK@@ @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ @@RAMDISK_IMAGE_ADDRESS@@ @@DEVICETREE_ADDRESS@@ fi if test "${boot_target}" = "mmc0" || test "${boot_target}" = "mmc1" || test "${boot_target}" = "usb0" || test "${boot_target}" = "usb1"; then @@ -65,7 +65,7 @@ do fatload ${devtype} ${devnum}:${distro_bootpart} @@RAMDISK_IMAGE_ADDRESS@@ ${ramdisk_name}; fdt addr @@DEVICETREE_ADDRESS@@ fdt get value bootargs /chosen bootargs - setenv bootargs $bootargs @@KERNEL_ROOT_RAMDISK@@ + setenv bootargs $bootargs @@KERNEL_COMMAND_APPEND@@ @@KERNEL_ROOT_RAMDISK@@ @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ @@RAMDISK_IMAGE_ADDRESS@@ @@DEVICETREE_ADDRESS@@ fi echo "Checking for /${rootfs_name}" @@ -74,12 +74,12 @@ do fatload ${devtype} ${devnum}:${distro_bootpart} @@RAMDISK_IMAGE_ADDRESS@@ ${rootfs_name}; fdt addr @@DEVICETREE_ADDRESS@@ fdt get value bootargs /chosen bootargs - setenv bootargs $bootargs @@KERNEL_ROOT_RAMDISK@@ + setenv bootargs $bootargs @@KERNEL_COMMAND_APPEND@@ @@KERNEL_ROOT_RAMDISK@@ @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ @@RAMDISK_IMAGE_ADDRESS@@ @@DEVICETREE_ADDRESS@@ fi fdt addr @@DEVICETREE_ADDRESS@@ fdt get value bootargs /chosen bootargs - setenv bootargs $bootargs @@KERNEL_ROOT_SD@@ + setenv bootargs $bootargs @@KERNEL_COMMAND_APPEND@@ @@KERNEL_ROOT_SD@@ @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ - @@DEVICETREE_ADDRESS@@ fi if test "${boot_target}" = "xspi0" || test "${boot_target}" = "qspi" || test "${boot_target}" = "qspi0"; then @@ -93,7 +93,7 @@ do sf read @@RAMDISK_IMAGE_ADDRESS@@ @@QSPI_RAMDISK_OFFSET@@ @@QSPI_RAMDISK_SIZE@@ fdt addr @@DEVICETREE_ADDRESS@@ fdt get value bootargs /chosen bootargs - setenv bootargs $bootargs @@KERNEL_ROOT_RAMDISK@@ + setenv bootargs $bootargs @@KERNEL_COMMAND_APPEND@@ @@KERNEL_ROOT_RAMDISK@@ @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ @@RAMDISK_IMAGE_ADDRESS@@ @@DEVICETREE_ADDRESS@@; echo "Booting using Separate images failed" fi @@ -108,7 +108,7 @@ do nand read @@RAMDISK_IMAGE_ADDRESS@@ @@NAND_RAMDISK_OFFSET@@ @@NAND_RAMDISK_SIZE@@ fdt addr @@DEVICETREE_ADDRESS@@ fdt get value bootargs /chosen bootargs - setenv bootargs $bootargs @@KERNEL_ROOT_RAMDISK@@ + setenv bootargs $bootargs @@KERNEL_COMMAND_APPEND@@ @@KERNEL_ROOT_RAMDISK@@ @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ @@RAMDISK_IMAGE_ADDRESS@@ @@DEVICETREE_ADDRESS@@; echo "Booting using Separate images failed" fi -- cgit v1.2.3-54-g00ecf From f848f46880ffddf88153478b056c353f253b4abb Mon Sep 17 00:00:00 2001 From: tarakreddy-xlnx Date: Mon, 4 Sep 2023 17:35:09 +0530 Subject: dpdk: Update SRCREV to latest Update CSI initializer script to version 3.1.1. Add support for bus master enable in DPDK bus driver and CDX exerciser PMD. Signed-off-by: tarakreddy-xlnx Signed-off-by: Mark Hatle --- meta-dpdk/recipes-extended/dpdk/dpdk_22.11.0.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-dpdk/recipes-extended/dpdk/dpdk_22.11.0.bb b/meta-dpdk/recipes-extended/dpdk/dpdk_22.11.0.bb index abce8d16..2545d383 100644 --- a/meta-dpdk/recipes-extended/dpdk/dpdk_22.11.0.bb +++ b/meta-dpdk/recipes-extended/dpdk/dpdk_22.11.0.bb @@ -3,7 +3,7 @@ include dpdk.inc SRC_URI = "git://github.com/Xilinx-CNS/cns-dpdk-next-sfc.git;branch=${BRANCH};protocol=https" BRANCH = "cdx_22.11" -SRCREV = "92339d519b50996915e7dbb5b8246b34febcba93" +SRCREV = "59161e5e88faf7475a8db180efe6d6f5113631b4" S = "${WORKDIR}/git" # kernel module is provide by dpdk-module recipe, so disable here -- cgit v1.2.3-54-g00ecf From 2a987eefe3d1f143fcd26636405b05df5918685a Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Thu, 7 Sep 2023 20:03:18 +0530 Subject: Updated SRCREV of bootgen for 2023.2_4079 2023.2 Updates 1. Support for replace/append use cases based of include bif 2. Fix build on machines with modern flex 2023.2_ksb Updates 1. Support for Authentication Optimization 2. Support for User Optional Data 3. Support for TCM Boot Flag 4. Add set_ipi_access Command 5. Add Sub Marker Support 6. Bug Fix for Deterministic Builds 2023.2_ksb Updates Signed-off-by: Siva Addepalli Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-bsp/bootgen/bootgen_2023.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/bootgen/bootgen_2023.2.bb b/meta-xilinx-core/recipes-bsp/bootgen/bootgen_2023.2.bb index cd4b1e36..03f323e1 100644 --- a/meta-xilinx-core/recipes-bsp/bootgen/bootgen_2023.2.bb +++ b/meta-xilinx-core/recipes-bsp/bootgen/bootgen_2023.2.bb @@ -11,7 +11,7 @@ RDEPENDS:${PN} += "openssl" REPO ?= "git://github.com/Xilinx/bootgen.git;protocol=https" BRANCH = "xlnx_rel_v2023.2" -SRCREV = "4f1e1caf2c09cdeacc35cbeedaf2550c6e44c7fd" +SRCREV = "8e6702bb5064b806e45028486de7376962470a36" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" -- cgit v1.2.3-54-g00ecf From 68632adcca279fa8b146efad482c0f2cf33d36f8 Mon Sep 17 00:00:00 2001 From: Ben Levinsky Date: Thu, 7 Sep 2023 10:07:59 -0700 Subject: libmetal-xlnx: Updated SRCREV for 2023.2 Changelog: examples: linux: zynqmp: Remove MB definition examples: freertos: define xInterruptController in System Device T.. lib: freertos: Add support for A72 and A78 lib: generic: zynqmp_a78: Add support for versal_net a78 platform .. lib: utilities: Match upstream for MB/GB macros Export each of the memory_order enumerators lib: add support for A78 Baremetal This fixes compilation issue in build with latest libmetal Signed-off-by: Ben Levinsky Signed-off-by: Mark Hatle --- .../openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2023.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2023.2.bb b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2023.2.bb index 7a5dc70e..5618ae88 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2023.2.bb +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2023.2.bb @@ -1,5 +1,5 @@ SRCBRANCH ?= "2023.2" -SRCREV = "be635252271de342014a146825870b64bd41d6eb" +SRCREV = "00fd771adc7adaed664ed6c5bc3d48d25856fe5c" BRANCH = "xlnx_rel_v2023.2" LIC_FILES_CHKSUM ?= "file://LICENSE.md;md5=f4d5df0f12dcea1b1a0124219c0dbab4" PV = "${SRCBRANCH}+git${SRCPV}" -- cgit v1.2.3-54-g00ecf From 44933fb8e9d6f01144ceac0ad0ffc33edc913aa6 Mon Sep 17 00:00:00 2001 From: Sergei Korneichuk Date: Wed, 30 Aug 2023 00:32:49 -0700 Subject: open-amp-xlnx: Updated SRCREV for 2023.2 Changelog: apps: zynq7: Move App specific variables to platform_info.h apps: zynqmp: Move App specific variables to platform_info.h apps: zynqmp_r5: Move App specific variables to platform_info.h Signed-off-by: Sergei Korneichuk Signed-off-by: Mark Hatle --- .../openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2023.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2023.2.bb b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2023.2.bb index eba124d9..8c6b4431 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2023.2.bb +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2023.2.bb @@ -1,5 +1,5 @@ SRCBRANCH ?= "2023.2" -SRCREV = "e95b02aef72a21039b1d109087788d4675475813" +SRCREV = "73a546f2b5faffe71680b1e5389f3328be60773f" BRANCH = "xlnx_rel_v2023.2" LIC_FILES_CHKSUM ?= "file://LICENSE.md;md5=ab88daf995c0bd0071c2e1e55f3d3505" PV = "${SRCBRANCH}+git${SRCPV}" -- cgit v1.2.3-54-g00ecf From 88be418e0d5d1510da68217a32c4c922014cf899 Mon Sep 17 00:00:00 2001 From: John Toomey Date: Thu, 7 Sep 2023 19:24:40 +0100 Subject: amd_spi_image: Move SPI image code into a bbclass Create new bbclass with code for generating QSPI images for both Kria and System controller. Signed-off-by: John Toomey Signed-off-by: Mark Hatle --- meta-xilinx-core/classes/amd_spi_image.bbclass | 142 +++++++++++++++++++++++++ 1 file changed, 142 insertions(+) create mode 100644 meta-xilinx-core/classes/amd_spi_image.bbclass diff --git a/meta-xilinx-core/classes/amd_spi_image.bbclass b/meta-xilinx-core/classes/amd_spi_image.bbclass new file mode 100644 index 00000000..ed4c1f87 --- /dev/null +++ b/meta-xilinx-core/classes/amd_spi_image.bbclass @@ -0,0 +1,142 @@ +# +# Copyright (C) 2023, Advanced Micro Devices, Inc. All rights reserved. +# +# SPDX-License-Identifier: MIT +# + +QSPI_SIZE ?= "0x2280000" + +# Register values +IDN_REG ?= "0x4D554241" +VERSION_REG ?= "0x1" +LENGTH_REG ?= "0x4" +PERSISTENT_REG ?= "0x01010000" + +# QSPI Offsets +IMAGE_SELECTOR_OFFSET ?= "0x0" +IMAGE_SELECTOR_BACKUP_OFFSET ?= "0x80000" +PERSISTENT_REG_OFFSET ?= "0x100000" +PERSISTENT_REG_BACKUP_OFFSET ?= "0x120000" +IMAGE_A_OFFSET ?= "0x200000" +IMAGE_A_IMGSEL_OFFSET ?= "0xF00000" +IMAGE_B_OFFSET ?= "0xF80000" +IMAGE_B_IMGSEL_OFFSET ?= "0x1C80000" +IMAGE_RCVRY_OFFSET ?= "0x1E00000" +IMAGE_RCVRY_BACKUP_OFFSET ?= "0x2000000" +VERSION_OFFSET ?= "0x2240000" +CHECKSUM_OFFSET ?= "0x2250000" + +def generate_spi_image(d): + + import io + import hashlib + import time + + qspi_size = int(d.getVar("QSPI_SIZE") or '0', 0) + int(d.getVar("QSPI_SIZE") or '0', 0) + + # Register values + idn_reg = int(d.getVar("IDN_REG") or '0', 0) + version_reg = int(d.getVar("VERSION_REG") or '0', 0) + length_reg = int(d.getVar("LENGTH_REG") or '0', 0) + persistent_reg = int(d.getVar("PERSISTENT_REG") or '0', 0) + + # QSPI Offsets + image_selector_offset = int(d.getVar("IMAGE_SELECTOR_OFFSET") or '0', 0) + image_selector_backup_offset = int(d.getVar("IMAGE_SELECTOR_BACKUP_OFFSET") or '0', 0) + persistent_reg_offset = int(d.getVar("PERSISTENT_REG_OFFSET") or '0', 0) + persistent_reg_backup_offset = int(d.getVar("PERSISTENT_REG_BACKUP_OFFSET") or '0', 0) + image_a_offset = int(d.getVar("IMAGE_A_OFFSET") or '0', 0) + image_a_imgsel_offset = int(d.getVar("IMAGE_A_IMGSEL_OFFSET") or '0', 0) + image_b_offset = int(d.getVar("IMAGE_B_OFFSET") or '0', 0) + image_b_imgsel_offset = int(d.getVar("IMAGE_B_IMGSEL_OFFSET") or '0', 0) + image_rcvry_offset = int(d.getVar("IMAGE_RCVRY_OFFSET") or '0', 0) + image_rcvry_backup_offset = int(d.getVar("IMAGE_RCVRY_BACKUP_OFFSET") or '0', 0) + version_offset = int(d.getVar("VERSION_OFFSET") or '0', 0) + checksum_offset = int(d.getVar("CHECKSUM_OFFSET") or '0', 0) + + # QSPI data + qspi_data = io.BytesIO() + qspi_data.write(b'\xFF' * qspi_size) + + # Image Selector - Primary, Backup, Image A and Image B + imgsel_file = d.getVar("DEPLOY_DIR_IMAGE")+"/imgsel-"+d.getVar("MACHINE")+".bin" + try: + with open(imgsel_file, "rb") as il: + imgsel = il.read(-1) + except OSError as err: + bb.fatal("Unable to open imgsel file: " + str(err)) + + qspi_data.seek(image_selector_offset) + qspi_data.write(imgsel) + qspi_data.seek(image_selector_backup_offset) + qspi_data.write(imgsel) + qspi_data.seek(image_a_imgsel_offset) + qspi_data.write(imgsel) + qspi_data.seek(image_b_imgsel_offset) + qspi_data.write(imgsel) + + # Persistent Registers - Primary and Backup + p_reg = [idn_reg, version_reg, length_reg, persistent_reg, \ + image_a_offset, image_b_offset, image_rcvry_offset] + checksum = 0xffffffff - (0xffffffff & sum(p_reg)) + p_reg.insert(3, checksum) + + qspi_data.seek(persistent_reg_offset) + for value in p_reg: + qspi_data.write(value.to_bytes(4, byteorder="little")) + + qspi_data.seek(persistent_reg_backup_offset) + for value in p_reg: + qspi_data.write(value.to_bytes(4, byteorder="little")) + + # Image A and B - boot.bin + try: + with open(d.getVar("DEPLOY_DIR_IMAGE")+"/boot.bin", "rb") as bo: + bootbin = bo.read(-1) + except OSError as err: + bb.fatal("Unable to open boot.bin file: " + str(err)) + + qspi_data.seek(image_a_offset) + qspi_data.write(bootbin) + qspi_data.seek(image_b_offset) + qspi_data.write(bootbin) + + # Recovery Image & Recovery Image Backup + imgrcry_file = d.getVar("DEPLOY_DIR_IMAGE")+"/imgrcry-"+d.getVar("MACHINE")+".bin" + try: + with open(imgrcry_file, "rb") as iy: + imgrcry = iy.read(-1) + except OSError as err: + bb.fatal("Unable to open imgrcry file: " + str(err)) + + qspi_data.seek(image_rcvry_offset) + qspi_data.write(imgrcry) + qspi_data.seek(image_rcvry_backup_offset) + qspi_data.write(imgrcry) + + # Version string and checksum + version = d.getVar("QSPI_IMAGE_VERSION") + date = time.strftime("%m%d%H%M") + machine = d.getVar("MACHINE")[:3] + image_name = d.getVar("QSPI_IMAGE_NAME") + + qspi_version = f"{image_name}-{machine}-v{version}-{date}\x00" + qspi_data.seek(version_offset) + qspi_data.write(qspi_version.encode()) + + qspi_sha = hashlib.sha256(qspi_data.getbuffer()) + qspi_data.seek(checksum_offset) + qspi_data.write(qspi_sha.digest()) + + # Write the QSPI data to file + with open(d.getVar("B") + "/" + d.getVar("IMAGE_NAME") + ".bin", "wb") as sq: + sq.write(qspi_data.getbuffer()) + +do_compile[depends] += "virtual/boot-bin:do_deploy virtual/imgsel:do_deploy virtual/imgrcry:do_deploy" + +python amd_spi_image_do_compile() { + generate_spi_image(d) +} + +EXPORT_FUNCTIONS do_compile -- cgit v1.2.3-54-g00ecf From b1f884b5111f79c3c4b12664984a90d624cdce82 Mon Sep 17 00:00:00 2001 From: Varalaxmi Bingi Date: Fri, 8 Sep 2023 17:53:04 +0530 Subject: xrt.inc: adding SRCREV_FORMAT variable when there are multiple srcuri then we need to mention the SRC_URI names in SRCREV_FORMAT variable. otherwise it will throw warning Signed-off-by: Varalaxmi Bingi Set the format to only pay attention to XRT Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-xrt/xrt/xrt.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc index fcb9574e..cbdee970 100644 --- a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc @@ -11,3 +11,4 @@ SRCREV_dma_ip_drivers = "9f02769a2eddde008158c96efa39d7edb6512578" SRC_URI += "git://github.com/serge1/ELFIO.git;branch=main;name=ELFIO;destsuffix=git/src/runtime_src/core/common/elf;protocol=https" SRCREV_ELFIO = "a04810f12625207cce72665d783babb80f0175a8" +SRCREV_FORMAT = "xrt" -- cgit v1.2.3-54-g00ecf From ba29858f3804a78de6b68880017f5f80916ba013 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Sun, 17 Sep 2023 21:15:31 -0600 Subject: xlnx-embeddedsw.bbclass: Update branch and SRCREV for 2024.1 Changes from master-next branch: xilplmi: Fix MISRA C violation 13.4 xilplmi: Fixed MISRA C violation for Rule 17.7 xilplmi: Fix MISRA C violations for Rule 14.4 xilplmi: Fix MISRA C violation 10.8 xilplmi: MISRA C violation 10.3 updated for changelog dp21txss , v_hdmitxss1 and other components cmake: toolchainfiles: microblaze-plm_toolchain.cmake: Fix VERSAL_PLM redefined warning cmake: toolchainfiles: microblaze-p*: Force the CMAKE_MACHINE variable lib: sw_services: xilplmi: Fix implicit declaration of function 'Xil_SetMBFrequency' warning lib: sw_services: xiltimer: Move the Xil_SetMBFrequency() API declaration to xiltimer.h scripts: pyesw: library_utils: Return proper error code lib: sw_services: xiltimer: Make changes with checkpatch lib: sw_services: xiltimer: Fix incorrect TTC counter handling for Zynq lib: sw_services: xiltimer: Fix sleep handling logic in scutimer adapter lib: sw_services: xiltimer: Add scutimer support for SDT flow ttcps: Fixed source code-format issue. ttcps: Fix HIS_COMF violations ttcps: Fix MISRA-C violation for RULE 14.3 ttcps: Fix MISRA-C violations for 10.7 and 12.2 ttcps: Fix MISRA-c violation for Rule 10.4 ttcps: Remove unnecessary call to XTtcPs_ClearInterruptStatus ttcps: Fix MISRA-C violations for Rule 10.5 ttcps: Fix MISRA-C violations for Rule 10.3 qspipsu: Update XQspiPsu_PolledRecvData and XQspiPsu_PolledMessageTransfer functions qspipsu: Fix MISRA-C violation 2.2 and 2.6 qspipsu: Fix MISRA-C violation 10.1 qspipsu: Fix MISRA-C violation 8.13 xilpm:versal_net: save and restore PL devices' hierarchy xilpm:versal_net: Restore missing Pl Devices during PLM update xloader:versal_net: save and restore image info table contents xilpm:versal_common: fix potential issue on array out of bound. sw_services:xilpuf:Fixed MISRA-C Rule 2.5 violation xilpm: versal: Update version to 5.2 for next release ThirdParty: sw_services: OpenAMP: sdt: Remove A53, A72 and A78 support ThirdParty: sw_services: Libmetal: sdt: Add support for PMUFW and PMC xilskey: added SDT support for examples xilpm: versal: server: Add XPM_POLL_TIMEOUT definition for CPPUTEST xilffs: Fix compilation warning usb: usbpsu: fix HIS_RETURN violation Updated changelog for cpu, versal_plm and other components tmr_inject: Fix style issues in the driver sources tmr_manager: Correct the syntax for xlnx, mask-rst-value property sw_services:xilpki:Fixed doxygen warnings sw_services:xilsecure: Avoid returning XST_SUCCESS incase of glitch sw_services: xilocp: Avoid returning XST_SUCCESS incase of glitch scugic: Fixed source code-format issue. scugic: Include xplatform_info.h for all processors scugic: Fix HIS_COMF violations scugic: Fix MISRA C violation for Rule 14.4 scugic: Fix MISRA-C violation for Rule 10.3 sw_services:xilsecure:Removed NO_EFFECT coverity warning fix. nandpsu: Update the clock node qspipsu: Update the clock node uartpsu: Update the clock node iicps: Update the clock node lib: standalone: Add the clocking to the standalone openamp: apps: zynqmp_r5: freertos: Remove call to vPortEnableInterrupt() cframe: Fixed MISRA-C violation 8.13 cframe: Fixed MISRA-C violation 4.6 cframe: Fixed MISRA-C violation 7.2 cframe: Fixed MISRA-C violation 10.4 cframe: Fixed MISRA-C violation 10.1 trngpsx: add SDT support sw_services:xilplmi:Remove redundant code sdps: Update YAML with Versal NET eMMC compatible sdps: Add support to read Tap configurations Xilloader: PCR security review comments xilocp: Fixed Security review comments for OCP BSP: riscv: Fix definitions for hpmevent registers xilpm: Update SSIT temperature propagation xilpm: versal: server: Fix sub-system restart on vek280 iicps: Fix doxygen warnings usb: usbpsu: src: fix HIS_VOCF metric violation usb: usbpsu: src: fix MISRA C-2012 Rule 10.3 violation mipicsiss: Removing linker script sw_services: xilsecure: Removed unused code of TRNG in xilsecure library sw_Services: xilsecure: Restricted XSecure_EccRandInit API to VersalNet sw_services: xilsecure: Use CacheInvalidate as per ARM recommendations sw_services:xilnvm:Fixed doxygen warnings xilpm: versal_common: server: Add missing code while integrating into Rigel workflow ospipsv: Fix MISRA-C Rule 8.13 violation sw_services:xilplmi:Sec COE Review Fixes uartlite: Correct SDT and interrupt checks in xuartlite_intr_tapp_example csudma:Fix HIS_COMF violations axidma: Fix sg_cyclic_intr example failure on r5 ipipsu: Update macros to resolve redefinition issue Updated version to latest in examples/index.html for multiple drivers BSP: microblaze: Fix prototypes of few cache APIs plm: versal_net: Use Reserved DDR Region for DS storage during update xilpki: fix issues with PKI IRQ signal lib: sw_apps: zynqmp_pmufw: Fix compilation error when ENABLE_RECOVERY flag is enabled in sdt flow xilpdi:Fix MISRA C violations for Rule 12.1 scuwdt: Update examples to stop the wdt at the end of the test scutimer: Update examples to stop the timer at end of the test xilplmi: versal: Allow loading of ELFs to XRAM dmaps: Fix example instance structure handling v_hdmitx1: Add support for configurable VTEM packets esw: Fix CMAKE_MACHINE for plm and psm microblaze processors in versalnet cmake: UserConfig.cmake: Disable USER_COMPILE_PROFILING_ENABLE configuration scripts: pyesw: build_bsp: Use cmake --build with verbose esw: Properly handle the processor extra compiler options ThirdParty: sw_services: lwip213: Fix the target name in clean target xilpki: Update XPki_GetVersion() API prototype cpu_riscv: Fix addgroup tag dp14rxss: Enable HDCP2X Timer handler calling function only when HDCP2X is enabled. xilpm: versal: server: Fix MISRA-C rule 10.4 xilpm: versal_common: server: Fix MISRA-C rule 8.13 sw_apps: zynqmp_pmufw: Fix MISRA-C rule 10.4 dfeprach: Remove immediate trigger dfeccf: Remove immediate trigger dfeofdm: Remove immediate trigger dfemix: Remove immediate trigger sw_services: xilpuf: Declare variable that are passed to server in data section srec_spi_bootloader: Adding a check in cmake to throw proper error srec_spi_bootloader: Adding linker_constraint for heap section in yaml srec_bootloader: Adding linker_constraint for heap section in yaml DP21: Add support for DP21 linkrates video_common: Fix compilation warning v_hdmitxss1: added tx compliance changes v_hdmirxss1: added tx compliance values v_hdmiphy1: Added new registers xilpm: versal: server: Add NPI read after enabling privilege write access for AIE2 dpdma: dppsu: Remove tapp section from yaml files xilnvm: Validate DME key before programming xilocp: XPPU configurations for DME operations sdps: change data type of BaseAddress sdps: Fix MISRA C-2012 Rule 8.5 violation sdps: Fix MISRA C-2012 Rule 15.5 violation sdps: Fix MISRA C-2012 Rule 14.4 violation sdps: Fix MISRA C-2012 Rule 12.1 violation sdps: Fix MISRA C-2012 Rule 10.6 violation sdps: Fix MISRA C-2012 Rule 10.4 violation sdps: Fix MISRA C-2012 Rule 10.1 violation sdps: Fix MISRA C-2012 Rule 4.7 violation ipipsu: Fix HIS_COMF violations qspipsu: src: Fix code format issues with checkpatch tool qspipsu: src: Update Polled transfer and Interrupt Handler functions as modular xilfpga: Add proper ifdef platform checks sw_services: xilmailbox: Fix HIS_COMF violations sw_services: xilplmi: Added the NullCheck for EmInit parameters update Embedded SW license file for 2023.2 release sw_apps: imgsel: versal image selector clean up sw_services:xilskey: Fixed MISRA-C Rule 8.5 violation rfdc: SDT Add Dependency Files sw_services:xilnvm: Fix SW-BP-REDUNDANCY drivers: trngpsx: Add volatile keyword to avoid optimization drivers: trngpsx: Remove Dead code sw_services:xilsecure: Fix updating KAT mask bits for external modules gpio: Add support for peripheral test for gpio in SDT flow sw_services: xilplmi: Reread from efuse cache sw_apps:versal_plm: Change exception print to DEBUG_PRINT_ALWAYS sw_services:xilplmi: DEBUG_PRINT_ALWAYS for critical error prints sw_services:xilplmi: Change PLM debug level to 0 for XilSEM xdmapcie: Replace csr-slcr property to populate xilpm: versal_net: clear pcil for rpu only sw_services:xilplmi:Added PSM Address range check xilpm: versal_net: skip halt if core is powered down sw_services:xilplmi:Updated IPI Timeout Value Revert "Revert "sw_services:xilsecure:Fix ECDSA boot failure on qemu"" xilsem: Replace Versal net SHA3 instance function with new API name avbuf: Ported changes for using the SDT flow dpdma: Ported changes for using the SDT flow dppsu: Ported changes for using the SDT flow xilpm: versal_net: fix force power down issue xilpm: versal_net: fix suspend resume issue xilpm: versal_net: Add DDRMC5 bisr support sw_services: xilpuf: Declare variables that are passed to server in data section sw_services:xilloader:Added Redundancy for KekSrc sw_apps:versal_plm:EAM Error Check After PMC CDO sw_services:xilplmi:Security Review Fixes iicps: Add SDT flow support for xiicps_eeprom_intr_example iicps: Update Receive Polled and Interrupt Handler functions as modular gpiops: Add support for pmc, versal and versal-net in sdt flow updated changelog for axiethernet and xilflash sw_services:xilloader: Remove check to validate MH secure state with PLM video_common: Add support for HF-SCDB in EDID parser Updated changelog for ospipsv and bram Signed-off-by: Sandeep Gundlupet Raju --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index e4e78038..b09ba84f 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -5,12 +5,12 @@ REPO ??= "git://github.com/Xilinx/embeddedsw.git;protocol=https" ESW_BRANCH[2023.1] = "xlnx_rel_v2023.1" ESW_BRANCH[2023.2] = "xlnx_rel_v2023.2-next" -ESW_BRANCH[2024.1] = "xlnx_rel_v2023.2-next" +ESW_BRANCH[2024.1] = "master-next" BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[2023.1] = "e24fe92b5517ee447e560790e798cad792f53bab" ESW_REV[2023.2] = "27ae5596270e2e4cc6a0ae23bcc80d49b4754724" -ESW_REV[2024.1] = "27ae5596270e2e4cc6a0ae23bcc80d49b4754724" +ESW_REV[2024.1] = "43f71f1373466ac510aa7fa44b89301cbcaf3611" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" @@ -19,6 +19,7 @@ EMBEDDEDSW_SRCURI ?= "${REPO};${EMBEDDEDSW_BRANCHARG}" LICENSE = "MIT" LIC_FILES_CHKSUM[xlnx_rel_v2023.1] = '3c310a3ee2197a4c92c6a0e2937c207c' LIC_FILES_CHKSUM[xlnx_rel_v2023.2-next] = '6677b545d223964a4906f97a2229bfc5' +LIC_FILES_CHKSUM[master-next] = '6677b545d223964a4906f97a2229bfc5' LIC_FILES_CHKSUM ??= "file://license.txt;md5=${@d.getVarFlag('LIC_FILES_CHKSUM', d.getVar('BRANCH')) or '0'}" SRC_URI = "${EMBEDDEDSW_SRCURI}" -- cgit v1.2.3-54-g00ecf From 52bb89c53a99337e41f797a078ba2208413cd4c9 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Sun, 17 Sep 2023 21:17:31 -0600 Subject: u-boot-xlnx-2024.1.inc: Update branch and SRCREV for 2024.1 Branche xlnx_rebase_v2023.01 and master content are same but commit id's are different. Hence no change logs are added in commit message. Signed-off-by: Sandeep Gundlupet Raju --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index 87839254..a4a916b8 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -1,8 +1,8 @@ UBOOT_VERSION = "v2023.01" -UBRANCH = "xlnx_rebase_v2023.01" +UBRANCH = "master" -SRCREV = "ce3aa5cdb1b01239466028eabf918e3e0ba1d529" +SRCREV = "4b18ddd0107b864a7a5999812da55cf13051ed80" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From c9f4f632d5f1c4692a5bcf5303fe91ecd9755822 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 8 Sep 2023 18:54:12 +0530 Subject: embeddedsw : Updated SRCREV for 2023.2_9143 cpu_riscv: Fix addgroup tag dp14rxss: Enable HDCP2X Timer handler calling function only when HDCP2X is enabled. xilpm: versal: server: Fix MISRA-C rule 10.4 xilpm: versal_common: server: Fix MISRA-C rule 8.13 sw_apps: zynqmp_pmufw: Fix MISRA-C rule 10.4 dfeprach: Remove immediate trigger dfeccf: Remove immediate trigger dfeofdm: Remove immediate trigger dfemix: Remove immediate trigger sw_services: xilpuf: Declare variable that are passed to server in data section srec_spi_bootloader: Adding a check in cmake to throw proper error srec_spi_bootloader: Adding linker_constraint for heap section in yaml srec_bootloader: Adding linker_constraint for heap section in yaml DP21: Add support for DP21 linkrates video_common: Fix compilation warning xilpm: versal: server: Add NPI read after enabling privilege write access for AIE2 dpdma: dppsu: Remove tapp section from yaml files Signed-off-by: Siva Addepalli Signed-off-by: Mark Hatle --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index b09ba84f..20b2b4a0 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -9,7 +9,7 @@ ESW_BRANCH[2024.1] = "master-next" BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[2023.1] = "e24fe92b5517ee447e560790e798cad792f53bab" -ESW_REV[2023.2] = "27ae5596270e2e4cc6a0ae23bcc80d49b4754724" +ESW_REV[2023.2] = "ea73baf7767b879075b11b5a7831a9b0f90e59cc" ESW_REV[2024.1] = "43f71f1373466ac510aa7fa44b89301cbcaf3611" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" -- cgit v1.2.3-54-g00ecf From c8fde83f6580972f276eb59ba66113d5ece9e8d7 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 11 Sep 2023 16:16:37 +0530 Subject: linux-xlnx : Updated SRCREV for 2023.2_1703 misc: xilinx-ai-engine: Fix bug in setting Signed-off-by: Siva Addepalli --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.2.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.2.bb index 88651319..8641401a 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.2.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.2.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.1.30" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.1;destsuffix=yocto-kmeta" KBRANCH="xlnx_rebase_v6.1_LTS" -SRCREV = "63a2ddb4ca597d67d4e4e858761c1f7ff81ebd11" +SRCREV = "21bb2c6510c445347db84d59f6b5a7cc09be507b" SRCREV_meta = "185bcfcbe480c742247d9117011794c69682914f" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From 4c8ee28682acaa7d680fd368dd93543363762139 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 11 Sep 2023 16:13:34 +0530 Subject: embeddedsw : Updated SRCREV for 2023.2_2891 ospipsv: Fix MISRA-C Rule 8.13 violation sw_services:xilplmi:Sec COE Review Fixes uartlite: Correct SDT and interrupt checks in xuartlite_intr_tapp_example csudma:Fix HIS_COMF violations axidma: Fix sg_cyclic_intr example failure on r5 Updated version number to latest in examples/index.html for multiple drivers BSP: microblaze: Fix prototypes of few cache APIs plm: versal_net: Use Reserved DDR Region for DS storage during update xilpki: fix issues with PKI IRQ signal lib: sw_apps: zynqmp_pmufw: Fix compilation error when ENABLE_RECOVERY flag is enabled in sdt flow xilpdi:Fix MISRA C violations for Rule 12.1 scuwdt: Update examples to stop the wdt at the end of the test scutimer: Update examples to stop the timer at end of the test xilplmi: versal: Allow loading of ELFs to XRAM dmaps: Fix example instance structure handling v_hdmitx1: Add support for configurable VTEM packets esw: Fix CMAKE_MACHINE for plm and psm microblaze processors in versalnet cmake: UserConfig.cmake: Disable USER_COMPILE_PROFILING_ENABLE configuration scripts: pyesw: build_bsp: Use cmake --build with verbose esw: Properly handle the processor extra compiler options ThirdParty: sw_services: lwip213: Fix the target name in clean target xilpki: Update XPki_GetVersion() API prototype Signed-off-by: Siva Addepalli Signed-off-by: Mark Hatle --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 20b2b4a0..02cfa5ad 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -9,7 +9,7 @@ ESW_BRANCH[2024.1] = "master-next" BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[2023.1] = "e24fe92b5517ee447e560790e798cad792f53bab" -ESW_REV[2023.2] = "ea73baf7767b879075b11b5a7831a9b0f90e59cc" +ESW_REV[2023.2] = "5829c0d9de3f9c3d05163fed983c09b5a22ee276" ESW_REV[2024.1] = "43f71f1373466ac510aa7fa44b89301cbcaf3611" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" -- cgit v1.2.3-54-g00ecf From 5abfede1d35def5d5e0b0f13fc293b34758489e0 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 13 Sep 2023 12:46:46 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2023.2_2883 mtd: spi-nor: Fix the issi_get_locked_range api arm64: zynqmp: Add output-enable pins to SOMs cmd: sf: Fix the flash_is_unlocked api size parameter mtd: spi-nor: Fix the giga_get_locked_range api Signed-off-by: Siva Addepalli Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc index 4165543b..30da126f 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2023.01" UBRANCH = "xlnx_rebase_v2023.01" -SRCREV = "5af51afd459eaf5bac81ff5315fad0b2ee20972a" +SRCREV = "ae520c3d6f89a639ea76ed439735e142e18f5957" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From 0f5c5b94513749b44f1cec1b16f4d88c42f8e30c Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 14 Sep 2023 12:46:51 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2023.2_2643 arm64: versal-net: Add dts files for mini u-boot qspi and ospi configurations mtd: spi-nor: Update block protection flags for spansion flash Signed-off-by: Siva Addepalli Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc index 30da126f..b9d6a16e 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2023.01" UBRANCH = "xlnx_rebase_v2023.01" -SRCREV = "ae520c3d6f89a639ea76ed439735e142e18f5957" +SRCREV = "ddaf9cd263bfce05bc7427f544b71a0cc75647ac" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From a30bb08a098bb1f747f53ca6bb1ddf87c7e911b5 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 14 Sep 2023 12:50:57 +0530 Subject: embeddedsw : Updated SRCREV for 2023.2_5147 xilffs: Fix compilation warning usb: usbpsu: fix HIS_RETURN violation Updated changelog for cpu, versal_plm and other components tmr_inject: Fix style issues in the driver sources tmr_manager: Correct the syntax for xlnx, mask-rst-value property sw_services:xilpki:Fixed doxygen warnings sw_services:xilsecure: Avoid returning XST_SUCCESS incase of glitch sw_services: xilocp: Avoid returning XST_SUCCESS incase of glitch scugic: Fixed source code-format issue. scugic: Include xplatform_info.h for all processors scugic: Fix HIS_COMF violations scugic: Fix MISRA C violation for Rule 14.4 scugic: Fix MISRA-C violation for Rule 10.3 sw_services:xilsecure:Removed NO_EFFECT coverity warning fix. nandpsu: Update the clock node qspipsu: Update the clock node uartpsu: Update the clock node iicps: Update the clock node lib: standalone: Add the clocking to the standalone v_hdmitxss1: added tx compliance changes v_hdmirxss1: added tx compliance values v_hdmiphy1: Added new registers openamp: apps: zynqmp_r5: freertos: Remove call to vPortEnableInterrupt() cframe: Fixed MISRA-C violation 8.13 cframe: Fixed MISRA-C violation 4.6 cframe: Fixed MISRA-C violation 7.2 cframe: Fixed MISRA-C violation 10.4 cframe: Fixed MISRA-C violation 10.1 trngpsx: add SDT support sdps: Update YAML with Versal NET eMMC compatible sdps: Add support to read Tap configurations sw_services:xilplmi:Remove redundant code Xilloader: PCR security review comments xilocp: Fixed Security review comments for OCP BSP: riscv: Fix definitions for hpmevent registers xilpm: Update SSIT temperature propagation xilpm: versal: server: Fix sub-system restart on vek280 iicps: Fix doxygen warnings mipicsiss: Removing linker script usb: usbpsu: src: fix HIS_VOCF metric violation usb: usbpsu: src: fix MISRA C-2012 Rule 10.3 violation sw_services: xilsecure: Removed unused code of TRNG in xilsecure library sw_Services: xilsecure: Restricted XSecure_EccRandInit API to VersalNet sw_services: xilsecure: Use CacheInvalidate as per ARM recommendations xilpm: versal_common: server: Add missing code while integrating into Rigel workflow Signed-off-by: Siva Addepalli Signed-off-by: Mark Hatle --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 02cfa5ad..ac5254c1 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -9,7 +9,7 @@ ESW_BRANCH[2024.1] = "master-next" BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[2023.1] = "e24fe92b5517ee447e560790e798cad792f53bab" -ESW_REV[2023.2] = "5829c0d9de3f9c3d05163fed983c09b5a22ee276" +ESW_REV[2023.2] = "79ba04717ca52a460438f4ec2da12186248adf97" ESW_REV[2024.1] = "43f71f1373466ac510aa7fa44b89301cbcaf3611" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" -- cgit v1.2.3-54-g00ecf From 4b1acdcf212a086ac19fb0d6d688c2f6099459c3 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 14 Sep 2023 12:52:30 +0530 Subject: linux-xlnx : Updated SRCREV for 2023.2_9351 fpga: versal: Add support for 44-bit DMA operations Signed-off-by: Siva Addepalli Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.2.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.2.bb index 8641401a..80365907 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.2.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.2.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.1.30" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.1;destsuffix=yocto-kmeta" KBRANCH="xlnx_rebase_v6.1_LTS" -SRCREV = "21bb2c6510c445347db84d59f6b5a7cc09be507b" +SRCREV = "180fe9b4c8be35c0c75e38a533634dcfd5f39b84" SRCREV_meta = "185bcfcbe480c742247d9117011794c69682914f" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From 9c0848a29595d5cc57d5f4676951ed4e2718e978 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 15 Sep 2023 16:05:50 +0530 Subject: linux-xlnx : Updated SRCREV for 2023.2_9395 uio_xilinx_ai_engine: Fix return value of xilinx_ai_engine_simulate_irq uio_xilinx_ai_engine: Fix irq number in call to irq_set_irqchip_state Signed-off-by: Siva Addepalli Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.2.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.2.bb index 80365907..a464cdde 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.2.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.2.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.1.30" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.1;destsuffix=yocto-kmeta" KBRANCH="xlnx_rebase_v6.1_LTS" -SRCREV = "180fe9b4c8be35c0c75e38a533634dcfd5f39b84" +SRCREV = "4f412ed20fd2c5353c1e878ef9ed77952a5040a1" SRCREV_meta = "185bcfcbe480c742247d9117011794c69682914f" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From 0437b89c2e3c47c39c115b1a645e5a4caefeff0a Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 15 Sep 2023 16:04:22 +0530 Subject: embeddedsw : Updated SRCREV for 2023.2_2231 mipicsiss:Updated files with VEK280 Pre-Production board xilloader: Fix MISRA C violation 17.8 xilloader: Fix MISRA C violation 17.7 xilplmi: Fix MISRA C violation 12.2 xilloader: Fix MISRA C violation 12.1 xilloader: Fix MISRA C violation 10.3 xilloader: Fix MISRA C violations for Directive 4.5. v_hdmitxss1: Added tx compliance values v_hdmirxss1: Added tx compliance values ThirdParty: sw_services: Libmetal: sdt: Remove A78 support xilsem: Fix NPI Scan Status after In Place PLM Update Revert "xilpm:versal_net: save and restore PL devices hierarchy" Revert "xilpm:versal_net: Restore missing Pl Devices during PLM update" Revert "xloader:versal_net: save and restore image info table contents" Revert "xilpm:versal_common: fix potential issue on array out of bound." xilplmi: Fix MISRA C violation 13.4 xilplmi: Fixed MISRA C violation for Rule 17.7 xilplmi: Fix MISRA C violations for Rule 14.4 xilplmi: Fix MISRA C violation 10.8 xilplmi: MISRA C violation 10.3 updated for changelog dp21txss , v_hdmitxss1 and other components xilskey: added SDT support for examples xilpm: versal: server: Add XPM_POLL_TIMEOUT definition for CPPUTEST cmake: toolchainfiles: microblaze-plm_toolchain.cmake: Fix VERSAL_PLM redefined warning cmake: toolchainfiles: microblaze-p*: Force the CMAKE_MACHINE variable lib: sw_services: xilplmi: Fix implicit declaration of function Xil_SetMBFrequency warning lib: sw_services: xiltimer: Move the Xil_SetMBFrequency() API declaration to xiltimer.h sw_services:xilnvm:Fixed doxygen warnings scripts: pyesw: library_utils: Return proper error code ipipsu: Update macros to resolve redefinition issue lib: sw_services: xiltimer: Make changes with checkpatch lib: sw_services: xiltimer: Fix incorrect TTC counter handling for Zynq lib: sw_services: xiltimer: Fix sleep handling logic in scutimer adapter lib: sw_services: xiltimer: Add scutimer support for SDT flow ttcps: Fixed source code-format issue. ttcps: Fix HIS_COMF violations ttcps: Fix MISRA-C violation for RULE 14.3 ttcps: Fix MISRA-C violations for 10.7 and 12.2 ttcps: Fix MISRA-c violation for Rule 10.4 ttcps: Remove unnecessary call to XTtcPs_ClearInterruptStatus ttcps: Fix MISRA-C violations for Rule 10.5 ttcps: Fix MISRA-C violations for Rule 10.3 qspipsu: Update XQspiPsu_PolledRecvData and XQspiPsu_PolledMessageTransfer functions qspipsu: Fix MISRA-C violation 2.2 and 2.6 qspipsu: Fix MISRA-C violation 10.1 qspipsu: Fix MISRA-C violation 8.13 xilpm:versal_net: save and restore PL devices hierarchy xilpm:versal_net: Restore missing Pl Devices during PLM update xloader:versal_net: save and restore image info table contents xilpm:versal_common: fix potential issue on array out of bound. sw_services:xilpuf:Fixed MISRA-C Rule 2.5 violation ThirdParty: sw_services: OpenAMP: sdt: Remove A53, A72 and A78 support ThirdParty: sw_services: Libmetal: sdt: Add support for PMUFW and PMC Signed-off-by: Siva Addepalli Signed-off-by: Mark Hatle --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index ac5254c1..9dde65c8 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -9,7 +9,7 @@ ESW_BRANCH[2024.1] = "master-next" BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[2023.1] = "e24fe92b5517ee447e560790e798cad792f53bab" -ESW_REV[2023.2] = "79ba04717ca52a460438f4ec2da12186248adf97" +ESW_REV[2023.2] = "8c698994fb414274b530a1d1d36146a3ca69f993" ESW_REV[2024.1] = "43f71f1373466ac510aa7fa44b89301cbcaf3611" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" -- cgit v1.2.3-54-g00ecf From 0ddfcd9ff7826b24cc4806f401c0d4e1d667532c Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 18 Sep 2023 23:41:03 +0530 Subject: embeddedsw : Updated SRCREV for 2023.2_4139 sw_services: XilSecure: Input Validations are added for xsecure_elliptic.c file xilpm: examples: Integrate self-suspend example into vitisng/rigle flow sw_services:xilnvm:server: Avoid returning XST_SUCCESS incase of glitch sw_services:xilnvm:client: Avoid returning XST_SUCCESS incase of glitch sw_services: xilnvm: Add volatile keyword to avoid optimization sw_services: xilnvm: Fix assigning Status to XST_SUCCESS sw_services: xilnvm: Fix SW-BP-REDUNDANCY in XNvm_EfuseWriteDmeRevoke and XNvm_EfusePrgmIv lib: sw_apps: Fix race condition in the app CMakeLists.txt for sdt flow versal: Fix for ssit security review comments wdttb: Fixed MISRA-C violation 10.4 wdttb: Fix MISRA C violation 12.1 Fix internal security review comments bsp:standalone: Fixed source code-format issue. bsp:standalone: Fix MISRA-C violation for Rule 12.1 bsp:standalone: Fix MISRA-C violation for Rule 7.2 bsp:standalone: Fix MISRA-C violation for Directive 4.6 bsp:standalone: Fix Misra-c violation for Rule 10.3 xilpm:versal_net: save and restore PL devices hierarchy xilpm:versal_net: Restore missing Pl Devices during PLM update xloader:versal_net: save and restore image info table contents xilpm:versal_common: fix potential issue on array out of bound. updated for changelog xadcps and other components xilpm: versal: server: Fix MISRA-C violation for rule 8.13 xilpm: versal: server: Fix MISRA-C violation for rule 12.1 updated for changelog uartlite sw_services:xilocp:Fixes for Doxygen warnings dpdma: Fix MISRA-C rule 12.1 violation dpdma: Fix MISRA-C rule 15.5 violation Signed-off-by: Siva Addepalli Signed-off-by: Mark Hatle --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 9dde65c8..0189d1d8 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -9,7 +9,7 @@ ESW_BRANCH[2024.1] = "master-next" BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[2023.1] = "e24fe92b5517ee447e560790e798cad792f53bab" -ESW_REV[2023.2] = "8c698994fb414274b530a1d1d36146a3ca69f993" +ESW_REV[2023.2] = "6dd9d8283c5545c35353089e8ece1acb6c0d20b7" ESW_REV[2024.1] = "43f71f1373466ac510aa7fa44b89301cbcaf3611" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" -- cgit v1.2.3-54-g00ecf From 9db4a68f31c6b11a8de05254ebdb5e80e542d990 Mon Sep 17 00:00:00 2001 From: Akshay Belsare Date: Tue, 19 Sep 2023 11:52:44 +0530 Subject: arm-trusted-firmware: update branch and version for 2024.x The TF-A is getting updated to upstream release version v3.0 which will be the base for 2024.X releases. The branch is updated to xlnx_rebase_v3.0 which is tracking upstream master branch. Signed-off-by: Akshay Belsare Signed-off-by: Mark Hatle --- .../recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb index 26c24498..b8a57e66 100644 --- a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb +++ b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb @@ -1,6 +1,6 @@ -ATF_VERSION = "2.8" -SRCREV = "1ce681f023ba57a16c72538ee124a106cc4b3988" -BRANCH = "xlnx_rebase_v2.8" +ATF_VERSION = "3.0" +SRCREV = "88b2d81345dfd84902aae586a743d00ac5df2f48" +BRANCH = "xlnx_rebase_v3.0" LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031" -- cgit v1.2.3-54-g00ecf From 65baacbc74e5805667c52e193bd72d9d9e4c4720 Mon Sep 17 00:00:00 2001 From: John Toomey Date: Tue, 19 Sep 2023 16:39:10 +0100 Subject: image-update: Move recipe from meta-petalinux Signed-off-by: John Toomey Signed-off-by: Mark Hatle --- .../recipes-apps/image-update/image-update_1.0.bb | 28 ++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 meta-xilinx-core/recipes-apps/image-update/image-update_1.0.bb diff --git a/meta-xilinx-core/recipes-apps/image-update/image-update_1.0.bb b/meta-xilinx-core/recipes-apps/image-update/image-update_1.0.bb new file mode 100644 index 00000000..57a18b3d --- /dev/null +++ b/meta-xilinx-core/recipes-apps/image-update/image-update_1.0.bb @@ -0,0 +1,28 @@ +DESCRIPTION = "Image update is used to update alternate image on SOM." +SUMMARY = "Image update is used to update alternate image on SOM. \ + If the current image is ImageA, ImageB will get updated and vice versa. \ + Usage: image_update " + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${WORKDIR}/git/LICENSES/MIT;md5=2ac09a7a37dd6ee0ba23ce497d57d09b" + +BRANCH = "xlnx_rel_v2023.2" +SRC_URI = "git://github.com/Xilinx/linux-image_update.git;branch=${BRANCH};protocol=https" +SRCREV = "c1117cad92d967d7adca7fd2ba655808f4687516" + +RDEPENDS:${PN} += "freeipmi" + +S = "${WORKDIR}/git" + +COMPATIBLE_MACHINE = "^$" +COMPATIBLE_MACHINE:zynqmp = "zynqmp" + +PACKAGE_ARCH:zynqmp = "${SOC_FAMILY_ARCH}" + +# Force the make system to use the flags we want! +EXTRA_OEMAKE = 'CC="${CC} ${TARGET_CFLAGS} ${TARGET_LDFLAGS}" all' + +do_install () { + install -d ${D}${bindir} + install -m 0755 ${S}/image_update ${D}${bindir}/ +} -- cgit v1.2.3-54-g00ecf From e986c685c60fcb8ab56f30b1324a6e9e0b2a4a1d Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Tue, 19 Sep 2023 16:07:26 -0500 Subject: image-update: Update description/summary to remove SOM Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-apps/image-update/image-update_1.0.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-core/recipes-apps/image-update/image-update_1.0.bb b/meta-xilinx-core/recipes-apps/image-update/image-update_1.0.bb index 57a18b3d..42b62e56 100644 --- a/meta-xilinx-core/recipes-apps/image-update/image-update_1.0.bb +++ b/meta-xilinx-core/recipes-apps/image-update/image-update_1.0.bb @@ -1,5 +1,5 @@ -DESCRIPTION = "Image update is used to update alternate image on SOM." -SUMMARY = "Image update is used to update alternate image on SOM. \ +DESCRIPTION = "Image update is used to update alternate images on compatible firmware." +SUMMARY = "Image update is used to update alternate image on compatible firmware. \ If the current image is ImageA, ImageB will get updated and vice versa. \ Usage: image_update " -- cgit v1.2.3-54-g00ecf From e2bed1017337aab29f24a97c0541d5f170feaba9 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 22 Sep 2023 00:12:53 +0530 Subject: dts : Updated SRCREV for 2024.1_8967 versal: Rename VEK280 cosim board Signed-off-by: Siva Addepalli --- meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb index 5db8c0b9..e0d6bf99 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb @@ -2,5 +2,5 @@ require qemu-devicetrees.inc BRANCH ?= "master" -SRCREV ?= "86b1a621919f2fb27e5ef4120fcacde67d43368d" +SRCREV ?= "d1013382d9a5ef816cd020e7840813b7a2d65c51" -- cgit v1.2.3-54-g00ecf From 7ca32a7c1ad21a0dd95424c794e43c17dad48f62 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 21 Sep 2023 06:23:26 -1200 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_2411 net: phy: xilinx-gmii2rgmii: Removed hardcoded phy address 0 for bridge Signed-off-by: Siva Addepalli --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index a4a916b8..6517a236 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2023.01" UBRANCH = "master" -SRCREV = "4b18ddd0107b864a7a5999812da55cf13051ed80" +SRCREV = "082e36f2138611c34cbeabf8b3178ac90bb63d08" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From b269ddd0926f3f63a53bd03f978c808490e99713 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 22 Sep 2023 12:53:03 +0530 Subject: linux-xlnx : Updated SRCREV for 2024.1_2403 mtd: spi-nor: Fix Write failure in SST flashes spi: spi-cadence: Correct irq sequence for read arm64: zynqmp: Add output-enable pins to SOMs v4l: xilinx: xcsirxss: Fix YUV420 format uio_xilinx_ai_engine: Fix return value of xilinx_ai_engine_simulate_irq uio_xilinx_ai_engine: Fix irq number in call to irq_set_irqchip_state fpga: versal: Add support for 44-bit DMA operations misc: xilinx-ai-engine: Fix bug in setting v4l2: xilinx: dprx: Add HDCP2x support v4l2: xilinx: Add HDCP2x Rx support config: xilinx: versal: Enable reset-controller ptp: xilinx: Add workaround for EXTTS interrupt handling spi: spi-zynq-qspi: Fix issue in accessing the upper flash mtd: spi-nor: Fix timeout issue with winbond multi die flash dt-bindings: net: xilinx_gmii2rgmii: Convert to json schema staging: xilinx_hdcp: Add mmult support for HDCP2x Rx staging: xilinx_hdcp: Add HDCP2x Rx cipher support staging: xilinx_hdcp: Add support for HDCP2x Rx arm64: versal-net: Fix sysmon interrupt number watchdog: of_xilinx_wdt: Remove unnecessary clock disable call in the remove path watchdog: of_xilinx_wdt: Use devm_clk_get_enabled() helper drivers: soc: xilinx: add check for platform firmware: xilinx: Register event manager driver drivers: soc: xilinx: add versal-net error event ids and masks drivers: soc: xilinx: rename error event header file for versal drivers: soc: xilinx: rename versal error event ids and masks Signed-off-by: Siva Addepalli --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index ce505895..9f25028b 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.1.30" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.1;destsuffix=yocto-kmeta" KBRANCH="xlnx_rebase_v6.1_LTS" -SRCREV = "5cfa8a2ffb8ecdb3388280bf95dd82349e26a5fb" +SRCREV = "2c6eef04c4fd6ede2f4de2437f5760da8e84ace2" SRCREV_meta = "185bcfcbe480c742247d9117011794c69682914f" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From e5880061fd75ea882d3edecb778fc2adb377fb12 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Sat, 23 Sep 2023 12:46:53 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_3663 net: zynq_gem: Update the MDC clock divisor in the probe function Signed-off-by: Siva Addepalli --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index 6517a236..269d8f19 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2023.01" UBRANCH = "master" -SRCREV = "082e36f2138611c34cbeabf8b3178ac90bb63d08" +SRCREV = "50f4accf971fe2708a4b4fd515bb5542c50e7f5d" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From 6297ab3b97f19276042593781bed2029258841b7 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Sat, 23 Sep 2023 12:51:43 +0530 Subject: aie-rt : Updated SRCREV for 2024.1_2139 driver:src: xaiengine directory & include files are missing Signed-off-by: Siva Addepalli --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index 8271189d..0b12173c 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "xlnx_rel_v2023.2" -SRCREV ?= "600c74adc4759a1df40f767edf11b41949b52728" +SRCREV ?= "e75d9528bf4cbb1506e1b02cbba73cd90133b42b" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From cdced32c786d38a560ccd17e90d37be32e391f6b Mon Sep 17 00:00:00 2001 From: saumya garg Date: Fri, 22 Sep 2023 11:50:01 +0530 Subject: xrt, zocl: Update commit id MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Changelog: fixed S2MM events for memory tiles (#7711) Search for specified xclbin in cwd and repo if available (#7710) add interface uuid into xgq_vmr host driver for linux upstream project (#7704) Xbutil reset issue fixed related to hwmon (#7706) Accessing device memory from host is enabled now in emulation (#7708) including DMA-only tiles in 'all' (#7709) Add test for exporting and importing buffer on same device (#7707) CR-1175636 Performance mode not valid for device (#7705) CR-1114740 xbutil examine -d -r 'aieshim' console output does n… (#7701) Catching exceptions when XDP plugins are loaded (#7703) CR-1175649 Always wait for command completion through hwqueue in SHIM layer (#7702) Add xrt::version APIs (#7696) CR-1155098 Add missing logic for host-mem status (#7698) sleep for 1 second to yiled cpu (#7700) Adding RAVE device id to XRT (#7699) Update ulite function to match newer Linux kernel (#7695) Return ENODATA Error code if bitstream is not present (#7694) Fixed PS kernel only xclbin download issue (#7674) CR-1174490: Fixing crash when turning on aie_profile on systems without AIE (#7697) [CR-1161728]: emconfig.json path issue if host code is in python. (#7687) fixed port selection in trace (#7693) Signed-off-by: saumya garg Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-xrt/xrt/xrt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc index cbdee970..b0b19427 100644 --- a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc @@ -3,7 +3,7 @@ BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != ' SRC_URI = "${REPO};${BRANCHARG};name=xrt" BRANCH= "master" -SRCREV_xrt = "efdc361cbecfd9e2968d632b4606bdf9276268dc" +SRCREV_xrt = "f978a3c3ac72197564ce51cf30712f9dfddf28cd" PV = "202320.2.16.0" SRC_URI += "git://github.com/Xilinx/dma_ip_drivers.git;branch=master;name=dma_ip_drivers;destsuffix=git/src/runtime_src/core/pcie/driver/linux/xocl/lib/libqdma;protocol=https" -- cgit v1.2.3-54-g00ecf From 9a1eb00c177367afc322081e51edc1862f51a40a Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 25 Sep 2023 12:53:27 +0530 Subject: linux-xlnx : Updated SRCREV for 2024.1_3011 net: macb: Set MDIO clock divisor for pclk higher than 160MHz mtd: rawnand: arasan: Avoid overwriting valid data while checking for bitflips during HW-ECC read Revert "mtd: rawnand: arasan: Use on-host ecc engine in hw-ecc mode" Signed-off-by: Siva Addepalli --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index 9f25028b..8842cb10 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.1.30" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.1;destsuffix=yocto-kmeta" KBRANCH="xlnx_rebase_v6.1_LTS" -SRCREV = "2c6eef04c4fd6ede2f4de2437f5760da8e84ace2" +SRCREV = "a19da02cf5b44420ec6afb1eef348c21d9e8cda2" SRCREV_meta = "185bcfcbe480c742247d9117011794c69682914f" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From 77298838db3b4dceee66a8ff545a83572fcd20ee Mon Sep 17 00:00:00 2001 From: saumya garg Date: Tue, 26 Sep 2023 11:17:45 +0530 Subject: xrt: Final commit id for 2023.2 release Changelog: fixed TLAST based events (#7718) Fix for CR:1163285-changing field name (#7721) (#7722) CR-1160311 xbflash2 tool doc update (#7716) (#7719) Signed-off-by: saumya garg Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-xrt/xrt/xrt.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc index b0b19427..067e58d7 100644 --- a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc @@ -2,8 +2,8 @@ REPO ?= "git://github.com/Xilinx/XRT.git;protocol=https" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG};name=xrt" -BRANCH= "master" -SRCREV_xrt = "f978a3c3ac72197564ce51cf30712f9dfddf28cd" +BRANCH= "2023.2" +SRCREV_xrt = "323fc40274fc0cf44b253925385613aa742050cf" PV = "202320.2.16.0" SRC_URI += "git://github.com/Xilinx/dma_ip_drivers.git;branch=master;name=dma_ip_drivers;destsuffix=git/src/runtime_src/core/pcie/driver/linux/xocl/lib/libqdma;protocol=https" -- cgit v1.2.3-54-g00ecf From 6f8ea52d29d92353b3a6c83d51c1c7a69913b52d Mon Sep 17 00:00:00 2001 From: Gregory Williams Date: Mon, 25 Sep 2023 10:05:41 -0700 Subject: meta-xilinx-core: ai-engine: Update source branch for 24.1 Updates 24.1 recipe with main-aie branch. Changelog: driver:src: xaiengine directory & include files are missing driver: src: lite: Mem Barrier Bug Fix Signed-off-by: Gregory Williams Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index 0b12173c..f24a62aa 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -2,8 +2,8 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" -BRANCH ?= "xlnx_rel_v2023.2" -SRCREV ?= "e75d9528bf4cbb1506e1b02cbba73cd90133b42b" +BRANCH ?= "main-aie" +SRCREV ?= "50013f3ad9e07d8d34afd48b24e83b2e5795a047" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From f5de8f11b7d288ca234ae19390392d2c44639335 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 28 Sep 2023 12:50:51 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_4491 scripts: pyesw: library_utils: Pull the xilflash library irrespective of the hardware dependency Revert "uartps: Fix xuartps_intr_example compilation errors in SDT flow" sw_services:xilsecure:Fixed MISRA-C Rule 12.2 violation sw_services:xilsecure:Fixed compilation warning for ecdsa example sw_services:xilsecure:Fixed MISRA-C Rule 10.3 and 10.4 violations sw_services:xilsecure:Fixed misra-c Rule 8.13 violation sw_services:xilsecure:Fixed coverity warnings updated for ddrcpsu changelog sw_services: xilcert: Replace XSecure_MemCpy64 with Xil_SMemCpy sw_services: xilcert: Fix the value of UEID extension scripts: pyesw: reconfig_bsp: Add support for older platforms/bsp axidma: Fix simple interrupt example for SDT flow Xilsecure: Add version header file for client mode VersalNet: Disable cache for xilpuf and xilnvm libraries xilplmi: fixed missing header inclusion lib: sw_apps: Update the User Compile and Link options for c++ sources lib: sw_apps: Fix linker script LINK_DEPENDS in system device-tree flow updated for changelog vtc uartps: Fix xuartps_intr_example compilation errors in SDT flow sw_services:xilpuf:Fixed doxygen warnings sw_services:xilsecure:Fixed doxygen warnings dp14txss: Removed XST_FAILURE return from XDpTxSs_SubcoreInitHdcp22() dp14rxss: Removed XST_FAILURE return from XDpRxSs_SubcoreInitHdcp22() sw_services: xilloader: Use correct mask to indicate KAT for SHA3 Instance 1 is run xilocp: Allowed PCR mask for GetPcr shall be 0xFF sw_services:xilsecure:Fix HIS COMF Violations for server. re-updated for changelog xilpm versal_psmfw: assert reset in power down sequence xilpm: versal_net: assert reset before setting operation mode xilpm: server: Fix max DDRMC count in PlDev -> MemCtrlr link sw_services:xilnvm:Fixed MISRA-C Rule 12.2 violation sw_services:xilnvm:Fixed MISRA-C Rule 8.3 violation sw_services:xilnvm:Fixed MISRA-C Rule 8.7 violation sw_services:xilnvm: Fixed MISRA-C Rule 2.5 violation reupdated emacps changelog sw_services: xilnvm: Fix review comments updated for changelog avbuf and other components sw_services: xilloader: Move KAT & hash calculation out of PLM_OCP macro xiltimer: Implement new API to get the library version info xilmailbox: Implement new API to get the library version info xilffs: Implement new API to get the library version info trngpsv: Fix MISRA-C violation 2.5 trngpsv: Fix MISRA-C violations 8.13 trngpsv: Fix MISRA-C violations 12.1 trngpsv: Fix MISRA-C violations 10.1 sw_services:xilfpga: Fixed source code-format issues sw_services:xilfpga: Fix MISRA-C violations for Rule 10.3 v_hdmitxss1: updated defines for tx pre and post cursor v_hdmirxss1: updated define for pre and post cursor Updated for cframe and other components sw_services:xilsecure:zynqmp:Fixed MISRA-C Rule 15.6 violation sw_services:xilsecure:zynqmp: Fixed MISRA-C Rule 17.8 violation sw_services:xilsecure:zynqmp: Fixed MISRA-C Rule 7.2 sw_services:xilsecure:zynqmp: Fixed MISRA_C Rule 11.9 xilsecure:zynqmp: Fixed MISRA-C violations sw_apps: versal_psmfw: Update PSMFW release version lib: sw_apps: Match title and description for OpenAMP and Libmetal apps sw_services:xilsecure:Fixed NO_EFFECT coverity warning scripts: pyesw: retarget_app: Add support for retargeting application for different platform scripts: pyesw: reconfig_bsp: Add support for shared platform/bsp sw_services: XilSecure: Input Validations are added for xsecure_elliptic.c file xilpm: examples: Integrate self-suspend example into vitisng/rigle flow sw_services:xilnvm:server: Avoid returning XST_SUCCESS incase of glitch sw_services:xilnvm:client: Avoid returning XST_SUCCESS incase of glitch sw_services: xilnvm: Add volatile keyword to avoid optimization sw_services: xilnvm: Fix assigning Status to XST_SUCCESS sw_services: xilnvm: Fix SW-BP-REDUNDANCY in XNvm_EfuseWriteDmeRevoke and XNvm_EfusePrgmIv lib: sw_apps: Fix race condition in the app CMakeLists.txt for sdt flow versal: Fix for ssit security review comments wdttb: Fixed MISRA-C violation 10.4 wdttb: Fix MISRA C violation 12.1 Fix internal security review comments bsp:standalone: Fixed source code-format issue. bsp:standalone: Fix MISRA-C violation for Rule 12.1 bsp:standalone: Fix MISRA-C violation for Rule 7.2 bsp:standalone: Fix MISRA-C violation for Directive 4.6 bsp:standalone: Fix Misra-c violation for Rule 10.3 xilpm:versal_net: save and restore PL devices hierarchy xilpm:versal_net: Restore missing Pl Devices during PLM update xloader:versal_net: save and restore image info table contents xilpm:versal_common: fix potential issue on array out of bound. updated for changelog xadcps and other components xilsecure: Added Check for All Zero Exponent Case xilpm: versal: server: Fix MISRA-C violation for rule 8.13 xilpm: versal: server: Fix MISRA-C violation for rule 12.1 updated for changelog uartlite sw_services:xilocp:Fixes for Doxygen warnings xilpm: versal: server: Clear spurious errors from NPD ScanClear dpdma: Fix MISRA-C rule 12.1 violation dpdma: Fix MISRA-C rule 15.5 violation mipicsiss:Updated files with VEK280 Pre-Production board ThirdParty: sw_services: Libmetal: sdt: Remove A78 support xilloader: Fix MISRA C violation 17.8 xilloader: Fix MISRA C violation 17.7 xilplmi: Fix MISRA C violation 12.2 xilloader: Fix MISRA C violation 12.1 xilloader: Fix MISRA C violation 10.3 xilloader: Fix MISRA C violations for Directive 4.5. v_hdmitxss1: Added tx compliance values v_hdmirxss1: Added tx compliance values xilsem: Fix NPI Scan Status after In Place PLM Update Revert "xilpm:versal_net: save and restore PL devices hierarchy" Revert "xilpm:versal_net: Restore missing Pl Devices during PLM update" Revert "xloader:versal_net: save and restore image info table contents" Revert "xilpm:versal_common: fix potential issue on array out of bound." Signed-off-by: Siva Addepalli --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 0189d1d8..25b1387f 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -10,7 +10,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[2023.1] = "e24fe92b5517ee447e560790e798cad792f53bab" ESW_REV[2023.2] = "6dd9d8283c5545c35353089e8ece1acb6c0d20b7" -ESW_REV[2024.1] = "43f71f1373466ac510aa7fa44b89301cbcaf3611" +ESW_REV[2024.1] = "716bcfce8a466cd3f7ef49995edf902dadf9bafb" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From eb87bbd47e7ba1f1eb62057c1e9b726c45752297 Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Fri, 29 Sep 2023 10:40:08 +0530 Subject: gen_plnx_machine.py: unlock busybox siggen config: changing ATF to TF-A Signed-off-by: Siva Addepalli --- meta-xilinx-core/gen-machine-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf index 357e8ea4..67935016 160000 --- a/meta-xilinx-core/gen-machine-conf +++ b/meta-xilinx-core/gen-machine-conf @@ -1 +1 @@ -Subproject commit 357e8ea40cbcd0944221d10e9f7ac3323951ae9e +Subproject commit 67935016b95c64d45a06d11ff450399b6089daf3 -- cgit v1.2.3-54-g00ecf From 2bb53fd9b29f23221677fa0bf602e01fdf066b99 Mon Sep 17 00:00:00 2001 From: Jose Quaresma Date: Thu, 28 Sep 2023 08:44:12 -0600 Subject: README.building.md: fix bitbake-layers remove layer Based on github Pull Request #59. Signed-off-by: Jose Quaresma Update commit message and added PR number in commit message. Signed-off-by: Sandeep Gundlupet Raju --- README.building.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.building.md b/README.building.md index 8bb866a7..7ffc1ab3 100644 --- a/README.building.md +++ b/README.building.md @@ -31,7 +31,7 @@ $ source poky/oe-init-build-env 4. Once initialized configure `bblayers.conf` by adding dependency layers as shown below using `bitbake-layers` command. > **Note:** From step 3 by default `meta-yocto-bsp` will be included in bblayers.conf -> file and this can be removed using `$ bitbake-layers add-layer meta-yocto-bsp` +> file and this can be removed using `$ bitbake-layers remove-layer meta-yocto-bsp` > command. ``` -- cgit v1.2.3-54-g00ecf From 3146606110f58cd871072c9723ad9a45f69f4810 Mon Sep 17 00:00:00 2001 From: John Toomey Date: Fri, 29 Sep 2023 09:12:31 -0600 Subject: meta-dpdk: Move dpdk layer out of meta-xilinx Signed-off-by: John Toomey Signed-off-by: Sandeep Gundlupet Raju --- meta-dpdk/COPYING.MIT | 17 ------ meta-dpdk/LICENSE | 5 -- meta-dpdk/README | 56 ----------------- meta-dpdk/conf/layer.conf | 24 -------- .../0001-configure-skip-toolchain-checks.patch | 46 -------------- ...-does-not-detect-libbpf-header-from-sysro.patch | 44 -------------- .../0003-Makefile-fix-KeyError-failure.patch | 31 ---------- .../0004-Makefile-fix-libxdp.pc-error.patch | 34 ----------- .../recipes-support/xdp-tools/xdp-tools_1.2.8.bb | 37 ----------- .../images/petalinux-image-everything.bbappend | 2 - meta-dpdk/recipes-extended/dpdk/dpdk.inc | 12 ---- meta-dpdk/recipes-extended/dpdk/dpdk_22.11.0.bb | 71 ---------------------- meta-dpdk/recipes-extended/dpdk/libmcdi_0.1.0.bb | 33 ---------- 13 files changed, 412 deletions(-) delete mode 100644 meta-dpdk/COPYING.MIT delete mode 100644 meta-dpdk/LICENSE delete mode 100644 meta-dpdk/README delete mode 100644 meta-dpdk/conf/layer.conf delete mode 100644 meta-dpdk/dynamic-layers/clang-layer/recipes-support/xdp-tools/xdp-tools/0001-configure-skip-toolchain-checks.patch delete mode 100644 meta-dpdk/dynamic-layers/clang-layer/recipes-support/xdp-tools/xdp-tools/0002-Makefile-It-does-not-detect-libbpf-header-from-sysro.patch delete mode 100644 meta-dpdk/dynamic-layers/clang-layer/recipes-support/xdp-tools/xdp-tools/0003-Makefile-fix-KeyError-failure.patch delete mode 100644 meta-dpdk/dynamic-layers/clang-layer/recipes-support/xdp-tools/xdp-tools/0004-Makefile-fix-libxdp.pc-error.patch delete mode 100644 meta-dpdk/dynamic-layers/clang-layer/recipes-support/xdp-tools/xdp-tools_1.2.8.bb delete mode 100644 meta-dpdk/dynamic-layers/petalinux/recipes-core/images/petalinux-image-everything.bbappend delete mode 100644 meta-dpdk/recipes-extended/dpdk/dpdk.inc delete mode 100644 meta-dpdk/recipes-extended/dpdk/dpdk_22.11.0.bb delete mode 100644 meta-dpdk/recipes-extended/dpdk/libmcdi_0.1.0.bb diff --git a/meta-dpdk/COPYING.MIT b/meta-dpdk/COPYING.MIT deleted file mode 100644 index fb950dc6..00000000 --- a/meta-dpdk/COPYING.MIT +++ /dev/null @@ -1,17 +0,0 @@ -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/meta-dpdk/LICENSE b/meta-dpdk/LICENSE deleted file mode 100644 index e57d3b90..00000000 --- a/meta-dpdk/LICENSE +++ /dev/null @@ -1,5 +0,0 @@ -All metadata files (including, but not limited to bb, bbappend, -bbclass, inc and conf files) are MIT licensed unless otherwise stated. -Source code included in tree for individual recipes is under the -LICENSE stated in the associated recipe (.bb file) unless otherwise -stated. diff --git a/meta-dpdk/README b/meta-dpdk/README deleted file mode 100644 index 1b256d02..00000000 --- a/meta-dpdk/README +++ /dev/null @@ -1,56 +0,0 @@ -meta-dpdk -========= - -This README file contains information on building the DPDK package. - -This is a fork of meta-dpdk, git://git.yoctoproject.org/meta-dpdk -langdale branch as of commit bd1b4f10262f12dd66a91383757ccba4eeda0b08. - -The software in this fork is specific to the AMD Embedded versal-net. - -Dependencies -============ - -This layer depends on: - - URI: git://git.openembedded.org/bitbake - branch: master - - URI: git://git.openembedded.org/openembedded-core - layers: meta - branch: master - - -Guidelines for submitting patches -==================================== - -Please submit any patches against this fork of meta-dpdk to the meta-xilinx -mailing list (meta-xilinx@lists.yoctoproject.org). - -Regardless of how you submit a patch or patchset, the patches should -at minimum follow the suggestions outlined in the 'Submitting a Change -to the Yocto Project' section in the Yocto Project Development Manual. -Specifically, they should: - - - Include a 'Signed-off-by:' line. A commit can't legally be pulled - in without this. - - - Provide a single-line, short summary of the change. This short - description should be prefixed by the BSP or recipe name, as - appropriate, followed by a colon. Capitalize the first character - of the summary (following the colon). - - - For the body of the commit message, provide detailed information - that describes what you changed, why you made the change, and the - approach you used. - - - If the change addresses a specific bug or issue that is associated - with a bug-tracking ID, include a reference to that ID in your - detailed description in the following format: [YOCTO #]. - - - Pay attention to line length - please don't allow any particular - line in the commit message to stretch past 72 characters. - - - For any non-trivial patch, provide information about how you - tested the patch, and for any non-trivial or non-obvious testing - setup, provide details of that setup. diff --git a/meta-dpdk/conf/layer.conf b/meta-dpdk/conf/layer.conf deleted file mode 100644 index 2b33f7a9..00000000 --- a/meta-dpdk/conf/layer.conf +++ /dev/null @@ -1,24 +0,0 @@ -# We have a conf and classes directory, add to BBPATH -BBPATH .= ":${LAYERDIR}" - -# We have recipes-* directories, add to BBFILES -BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ - ${LAYERDIR}/recipes-*/*/*.bbappend" - -BBFILE_COLLECTIONS += "dpdk" -BBFILE_PATTERN_dpdk := "^${LAYERDIR}/" -BBFILE_PRIORITY_dpdk = "5" - -LAYERDEPENDS_dpdk = "core" - -# This should only be incremented on significant changes that will -# cause compatibility issues with other layers -LAYERVERSION_dpdk = "1" -LAYERSERIES_COMPAT_dpdk = "kirkstone langdale" - -BBFILES_DYNAMIC += " \ - clang-layer:${LAYERDIR}/dynamic-layers/clang-layer/*/*/*.bb \ - clang-layer:${LAYERDIR}/dynamic-layers/clang-layer/*/*/*.bbappend \ - petalinux:${LAYERDIR}/dynamic-layers/petalinux/recipes-*/*/*.bb \ - petalinux:${LAYERDIR}/dynamic-layers/petalinux/recipes-*/*/*.bbappend \ -" diff --git a/meta-dpdk/dynamic-layers/clang-layer/recipes-support/xdp-tools/xdp-tools/0001-configure-skip-toolchain-checks.patch b/meta-dpdk/dynamic-layers/clang-layer/recipes-support/xdp-tools/xdp-tools/0001-configure-skip-toolchain-checks.patch deleted file mode 100644 index 32a88b20..00000000 --- a/meta-dpdk/dynamic-layers/clang-layer/recipes-support/xdp-tools/xdp-tools/0001-configure-skip-toolchain-checks.patch +++ /dev/null @@ -1,46 +0,0 @@ -From 53f8a8dffa571de99b50f1a7b757cfd7d8c24d21 Mon Sep 17 00:00:00 2001 -From: Naveen Saini -Date: Mon, 17 Oct 2022 15:44:16 +0800 -Subject: [PATCH 1/4] configure: skip toolchain checks - -Current logic fetch full command line along with the tool. i.e -gcc -m64 -march=skylake -mtune=generic ... - -Which throws ERROR: Cannot find tool -m64 - -So need to re-write for loop, so it can work in cross-compilation -environment too. - -Upstream-Status: Inappropriate - -Signed-off-by: Naveen Saini ---- - configure | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/configure b/configure -index 70fdfdf..48d1ea5 100755 ---- a/configure -+++ b/configure -@@ -38,12 +38,12 @@ check_toolchain() - : ${EMACS=emacs} - : ${ARCH_INCLUDES=} - -- for TOOL in $PKG_CONFIG $CC $LD $OBJCOPY $CLANG $LLC $M4; do -- if [ ! $(command -v ${TOOL} 2>/dev/null) ]; then -- echo "*** ERROR: Cannot find tool ${TOOL}" ; -- exit 1; -- fi; -- done -+ #for TOOL in $PKG_CONFIG $CC $LD $OBJCOPY $CLANG $LLC $M4; do -+ # if [ ! $(command -v ${TOOL} 2>/dev/null) ]; then -+ # echo "*** ERROR: Cannot find tool ${TOOL}" ; -+ # exit 1; -+ # fi; -+ #done - - clang_version=$($CLANG --version | grep -Po '(?<=clang version )[[:digit:]]+') - echo "Found clang binary '$CLANG' with version $clang_version (from '$($CLANG --version | head -n 1)')" --- -2.25.1 - diff --git a/meta-dpdk/dynamic-layers/clang-layer/recipes-support/xdp-tools/xdp-tools/0002-Makefile-It-does-not-detect-libbpf-header-from-sysro.patch b/meta-dpdk/dynamic-layers/clang-layer/recipes-support/xdp-tools/xdp-tools/0002-Makefile-It-does-not-detect-libbpf-header-from-sysro.patch deleted file mode 100644 index 2e667836..00000000 --- a/meta-dpdk/dynamic-layers/clang-layer/recipes-support/xdp-tools/xdp-tools/0002-Makefile-It-does-not-detect-libbpf-header-from-sysro.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 2840cf0b89497f545fae2eed7ece3f3c5fc558e3 Mon Sep 17 00:00:00 2001 -From: Naveen Saini -Date: Mon, 17 Oct 2022 15:50:34 +0800 -Subject: [PATCH 2/4] Makefile: It does not detect libbpf header from sysroot - -So adding sysroot headers path. - -Upstream-Status: OE-Specific - -Signed-off-by: Naveen Saini ---- - lib/common.mk | 2 +- - lib/libxdp/Makefile | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/lib/common.mk b/lib/common.mk -index 56c0406..ab0bad8 100644 ---- a/lib/common.mk -+++ b/lib/common.mk -@@ -55,7 +55,7 @@ LIBXDP_SOURCES := $(wildcard $(LIBXDP_DIR)/*.[ch] $(LIBXDP_DIR)/*.in) - KERN_USER_H ?= $(wildcard common_kern_user.h) - - CFLAGS += -I$(HEADER_DIR) -I$(LIB_DIR)/util $(ARCH_INCLUDES) --BPF_CFLAGS += -I$(HEADER_DIR) $(ARCH_INCLUDES) -+BPF_CFLAGS += -I$(HEADER_DIR) $(ARCH_INCLUDES) -I${STAGING_INCDIR}/ - - BPF_HEADERS := $(wildcard $(HEADER_DIR)/bpf/*.h) $(wildcard $(HEADER_DIR)/xdp/*.h) - -diff --git a/lib/libxdp/Makefile b/lib/libxdp/Makefile -index 358b751..8f459d8 100644 ---- a/lib/libxdp/Makefile -+++ b/lib/libxdp/Makefile -@@ -30,7 +30,7 @@ PC_FILE := $(OBJDIR)/libxdp.pc - TEMPLATED_SOURCES := xdp-dispatcher.c - - CFLAGS += -I$(HEADER_DIR) --BPF_CFLAGS += -I$(HEADER_DIR) -+BPF_CFLAGS += -I$(HEADER_DIR) -I${STAGING_INCDIR}/ - - - ifndef BUILD_STATIC_ONLY --- -2.25.1 - diff --git a/meta-dpdk/dynamic-layers/clang-layer/recipes-support/xdp-tools/xdp-tools/0003-Makefile-fix-KeyError-failure.patch b/meta-dpdk/dynamic-layers/clang-layer/recipes-support/xdp-tools/xdp-tools/0003-Makefile-fix-KeyError-failure.patch deleted file mode 100644 index 41c57f6e..00000000 --- a/meta-dpdk/dynamic-layers/clang-layer/recipes-support/xdp-tools/xdp-tools/0003-Makefile-fix-KeyError-failure.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 157546fbc4f18751c52b3c8788879c05cf253331 Mon Sep 17 00:00:00 2001 -From: Naveen Saini -Date: Mon, 17 Oct 2022 16:02:46 +0800 -Subject: [PATCH 3/4] Makefile: fix KeyError failure - -Error: -Exception: KeyError: 'getpwuid(): uid not found: 11857215' - -Upstream-Status: Inappropriate - -Signed-off-by: Naveen Saini ---- - lib/libxdp/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lib/libxdp/Makefile b/lib/libxdp/Makefile -index 8f459d8..9a340a3 100644 ---- a/lib/libxdp/Makefile -+++ b/lib/libxdp/Makefile -@@ -55,7 +55,7 @@ install: all - $(Q)install -d -m 0755 $(DESTDIR)$(BPF_OBJECT_DIR) - $(Q)install -m 0644 $(LIB_HEADERS) $(DESTDIR)$(HDRDIR)/ - $(Q)install -m 0644 $(PC_FILE) $(DESTDIR)$(LIBDIR)/pkgconfig/ -- $(Q)cp -fpR $(SHARED_LIBS) $(STATIC_LIBS) $(DESTDIR)$(LIBDIR) -+ $(Q)cp -fpR --no-preserve=ownership $(SHARED_LIBS) $(STATIC_LIBS) $(DESTDIR)$(LIBDIR) - $(Q)install -m 0755 $(XDP_OBJS) $(DESTDIR)$(BPF_OBJECT_DIR) - $(if $(MAN_FILES),$(Q)install -m 0755 -d $(DESTDIR)$(MANDIR)/man3) - $(if $(MAN_FILES),$(Q)install -m 0644 $(MAN_FILES) $(DESTDIR)$(MANDIR)/man3) --- -2.25.1 - diff --git a/meta-dpdk/dynamic-layers/clang-layer/recipes-support/xdp-tools/xdp-tools/0004-Makefile-fix-libxdp.pc-error.patch b/meta-dpdk/dynamic-layers/clang-layer/recipes-support/xdp-tools/xdp-tools/0004-Makefile-fix-libxdp.pc-error.patch deleted file mode 100644 index b1e15e52..00000000 --- a/meta-dpdk/dynamic-layers/clang-layer/recipes-support/xdp-tools/xdp-tools/0004-Makefile-fix-libxdp.pc-error.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 46b3ff797135574aa0ee42f633a281d44f48da95 Mon Sep 17 00:00:00 2001 -From: Naveen Saini -Date: Mon, 17 Oct 2022 16:05:15 +0800 -Subject: [PATCH 4/4] Makefile: fix libxdp.pc error - -Error: -do_populate_sysroot: QA Issue: libxdp.pc failed sanity test (tmpdir) in -path ... xdp-tools/1.2.8-r0/sysroot-destdir/usr/lib/pkgconfig [pkgconfig] - -Upstream-Status: Inappropriate - -Signed-off-by: Naveen Saini ---- - lib/libxdp/Makefile | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/lib/libxdp/Makefile b/lib/libxdp/Makefile -index 9a340a3..bc39177 100644 ---- a/lib/libxdp/Makefile -+++ b/lib/libxdp/Makefile -@@ -76,8 +76,8 @@ $(OBJDIR)/libxdp.so.$(LIBXDP_VERSION): $(SHARED_OBJS) - $^ $(LDFLAGS) $(LDLIBS) -o $@ - - $(OBJDIR)/libxdp.pc: -- $(Q)sed -e "s|@PREFIX@|$(PREFIX)|" \ -- -e "s|@LIBDIR@|$(LIBDIR)|" \ -+ $(Q)sed -e "s|@PREFIX@|$(prefix)|" \ -+ -e "s|@LIBDIR@|$(libdir)|" \ - -e "s|@VERSION@|$(TOOLS_VERSION)|" \ - < libxdp.pc.template > $@ - --- -2.25.1 - diff --git a/meta-dpdk/dynamic-layers/clang-layer/recipes-support/xdp-tools/xdp-tools_1.2.8.bb b/meta-dpdk/dynamic-layers/clang-layer/recipes-support/xdp-tools/xdp-tools_1.2.8.bb deleted file mode 100644 index 7cd49a0b..00000000 --- a/meta-dpdk/dynamic-layers/clang-layer/recipes-support/xdp-tools/xdp-tools_1.2.8.bb +++ /dev/null @@ -1,37 +0,0 @@ -SUMMARY = "Utilities and example programs for use with XDP" -HOMEPAGE = "https://github.com/xdp-project/xdp-tools" -LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later & BSD-2-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=9ee53f8d06bbdb4c11b1557ecc4f8cd5 \ - file://LICENSES/GPL-2.0;md5=994331978b428511800bfbd17eea3001 \ - file://LICENSES/LGPL-2.1;md5=b370887980db5dd40659b50909238dbd \ - file://LICENSES/BSD-2-Clause;md5=5d6306d1b08f8df623178dfd81880927" - -DEPENDS += " libbpf clang-native zlib elfutils libpcap" - -SRC_URI = "git://github.com/xdp-project/xdp-tools.git;branch=v1.2;protocol=https \ - file://0001-configure-skip-toolchain-checks.patch \ - file://0002-Makefile-It-does-not-detect-libbpf-header-from-sysro.patch \ - file://0003-Makefile-fix-KeyError-failure.patch \ - file://0004-Makefile-fix-libxdp.pc-error.patch \ - " - -SRCREV = "d4ff1f9bcf8b03556b625ab6e16958598482e861" - -S = "${WORKDIR}/git" - -inherit pkgconfig - -EXTRA_OEMAKE += "PREFIX=${D}${prefix} LIBDIR=${D}${libdir} BUILD_STATIC_ONLY=1 PRODUCTION=1" - -CFLAGS += "-fPIC" - -export STAGING_INCDIR - -do_install () { - oe_runmake install - - # Remove object files *.o - rm -rf ${D}/${libdir}/bpf -} - -RDEPENDS:${PN} += "bash" diff --git a/meta-dpdk/dynamic-layers/petalinux/recipes-core/images/petalinux-image-everything.bbappend b/meta-dpdk/dynamic-layers/petalinux/recipes-core/images/petalinux-image-everything.bbappend deleted file mode 100644 index 732b1b45..00000000 --- a/meta-dpdk/dynamic-layers/petalinux/recipes-core/images/petalinux-image-everything.bbappend +++ /dev/null @@ -1,2 +0,0 @@ -COMMON_INSTALL:append:versal-net = " dpdk libmcdi" - diff --git a/meta-dpdk/recipes-extended/dpdk/dpdk.inc b/meta-dpdk/recipes-extended/dpdk/dpdk.inc deleted file mode 100644 index 9ce9737e..00000000 --- a/meta-dpdk/recipes-extended/dpdk/dpdk.inc +++ /dev/null @@ -1,12 +0,0 @@ -DESCRIPTION = "Data Plane Development Kit" -HOMEPAGE = "http://dpdk.org" - -LICENSE = "BSD-3-Clause & LGPL-2.1-only & GPL-2.0-only" -LIC_FILES_CHKSUM = "file://license/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://license/lgpl-2.1.txt;md5=4b54a1fd55a448865a0b32d41598759d \ - file://license/bsd-3-clause.txt;md5=0f00d99239d922ffd13cabef83b33444" - -SRC_URI = "git://dpdk.org/dpdk${STABLE};branch=${BRANCH} \ -" - -CVE_PRODUCT = "data_plane_development_kit" diff --git a/meta-dpdk/recipes-extended/dpdk/dpdk_22.11.0.bb b/meta-dpdk/recipes-extended/dpdk/dpdk_22.11.0.bb deleted file mode 100644 index 2545d383..00000000 --- a/meta-dpdk/recipes-extended/dpdk/dpdk_22.11.0.bb +++ /dev/null @@ -1,71 +0,0 @@ -include dpdk.inc - -SRC_URI = "git://github.com/Xilinx-CNS/cns-dpdk-next-sfc.git;branch=${BRANCH};protocol=https" - -BRANCH = "cdx_22.11" -SRCREV = "59161e5e88faf7475a8db180efe6d6f5113631b4" -S = "${WORKDIR}/git" - -# kernel module is provide by dpdk-module recipe, so disable here -EXTRA_OEMESON = " \ - -Denable_kmods=false \ - -Dexamples=cdma_demo,cdx_test \ -" - -COMPATIBLE_MACHINE = "null" -COMPATIBLE_MACHINE:versal-net = "${MACHINE}" -COMPATIBLE_HOST:libc-musl:class-target = "null" -COMPATIBLE_HOST:linux-gnux32 = "null" - -PACKAGECONFIG ??= " " -PACKAGECONFIG[afxdp] = ",,libbpf xdp-tools" -PACKAGECONFIG[libvirt] = ",,libvirt" - -RDEPENDS:${PN} += "pciutils python3-core" -RDEPENDS:${PN}-examples += "bash" -DEPENDS = "numactl python3-pyelftools-native" - -inherit meson pkgconfig - -INSTALL_PATH = "${prefix}/share/dpdk" - -do_write_config:append(){ - sed -i "/\[properties\]/a platform = \'cdx\'" ${WORKDIR}/meson.cross -} - -do_install:append(){ - # remove source files - rm -rf ${D}/${INSTALL_PATH}/examples/* - - # Install examples - install -m 0755 -d ${D}/${INSTALL_PATH}/examples/ - for dirname in ${B}/examples/dpdk-* - do - if [ ! -d ${dirname} ] && [ -x ${dirname} ]; then - install -m 0755 ${dirname} ${D}/${INSTALL_PATH}/examples/ - fi - done - -} - -PACKAGES =+ "${PN}-examples ${PN}-tools" - -FILES:${PN} += " ${bindir}/dpdk-testpmd \ - ${bindir}/dpdk-proc-info \ - ${libdir}/*.so* \ - ${libdir}/dpdk/pmds-22.0/*.so* \ - " -FILES:${PN}-examples = " \ - ${INSTALL_PATH}/examples/* \ - " - -FILES:${PN}-tools = " \ - ${bindir}/dpdk-pdump \ - ${bindir}/dpdk-test \ - ${bindir}/dpdk-test-* \ - ${bindir}/dpdk-*.py \ - " - -CVE_PRODUCT = "data_plane_development_kit" - -INSANE_SKIP:${PN} = "dev-so" diff --git a/meta-dpdk/recipes-extended/dpdk/libmcdi_0.1.0.bb b/meta-dpdk/recipes-extended/dpdk/libmcdi_0.1.0.bb deleted file mode 100644 index 0bc9a849..00000000 --- a/meta-dpdk/recipes-extended/dpdk/libmcdi_0.1.0.bb +++ /dev/null @@ -1,33 +0,0 @@ -DESCRIPTION = "Management Controller Driver Interface library" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://COPYING.MIT;md5=838c366f69b72c5df05c96dff79b35f2" - -SRC_URI = "git://github.com/Xilinx-CNS/mcdi-lib.git;branch=${BRANCH};protocol=https" -BRANCH = "master" -SRCREV = "db448189e5fcb38b4750faf6afe243d7998863bc" - -S = "${WORKDIR}/git" - -COMPATIBLE_MACHINE = "^$" -COMPATIBLE_MACHINE:versal-net = "${MACHINE}" - -MCDI_PATH_EXAMPLES = "${datadir}/${BPN}/examples" - -do_compile() { - oe_runmake all CC="${CC}" CROSS_COMPILE="${TARGET_PREFIX}" -} - -do_install() { - oe_runmake install prefix="${prefix}" DESTDIR="${D}" - - install -d ${D}/${MCDI_PATH_EXAMPLES} - install -m 0755 ${B}/example/mcdi_example_app ${D}/${MCDI_PATH_EXAMPLES} - install -m 0755 ${B}/init/init_app ${D}/${MCDI_PATH_EXAMPLES} -} - -PACKAGES =+ "${PN}-examples" - -FILES:${PN}-examples = " \ - ${MCDI_PATH_EXAMPLES}/* \ - " -- cgit v1.2.3-54-g00ecf From ae371e19047f1ffe5f5b79924f809de0c4193221 Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Wed, 4 Oct 2023 12:30:11 +0530 Subject: Updated Commit ID lib: Update Copyright year. *.py: Move scripts to lib directory lib:*.py: Move script to lib directory hw-description.tcl: Add function to get proc info in xsct flow machineconf.json: Remove dt-boardfile Kconfig.part: Add SDT check for MC_PLNX_IMAGES_LOCATION gen-machineconf: Update gen-machineconf to modular way multiconfigs.py: Script to generate the SDT files xsct_flow.py: Add gen-machineconf xsct module sdt_flow.py: Add gen-machineconf SDT module Signed-off-by: Siva Addepalli --- meta-xilinx-core/gen-machine-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf index 67935016..34e50388 160000 --- a/meta-xilinx-core/gen-machine-conf +++ b/meta-xilinx-core/gen-machine-conf @@ -1 +1 @@ -Subproject commit 67935016b95c64d45a06d11ff450399b6089daf3 +Subproject commit 34e50388f764432bea5addf544bb7dd8fbf3b2d0 -- cgit v1.2.3-54-g00ecf From 47eedc04755c3e2711cd5a88c944543c91fc1459 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 4 Oct 2023 17:43:38 +0530 Subject: aie-rt : Updated SRCREV for 2024.1_8051 fal: Version bump driver: Version bump Signed-off-by: Siva Addepalli --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index f24a62aa..12bf5111 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "main-aie" -SRCREV ?= "50013f3ad9e07d8d34afd48b24e83b2e5795a047" +SRCREV ?= "4864a5442fbaeba71bd7b3446c10c5607424e9d0" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From b08db91422cd107f101371a5cfca789bdee8d4ae Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 4 Oct 2023 17:43:12 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_6559 sw_apps: img_rcvry: enable dhcp capabilities xilpm: versal_common: server: Fix compiler warning sw_services:xilplmi:In-Place Update from Image Store iomodule: Fixed source code-format issue. iomodule: Fix pointer-compare warning emc: Update addtogroup to Overview xilpuf: updated BSP options visibility xilpuf: updated the message type xilpuf: updated version number xilnvm: changed BSP options visibility xilnvm: updated version number xilsecure: changed BSP options visibility xilsecure: build scripts cleanup xilsecure: changed error type xilsecure: updated version number update Embedded SW license 2023.2 release sw_apps: img_rcvry: image recover GUI changes for SC sw_services: xilplmi: Add secure lockdown as EAM error actions Revert "sw_services: xilloader: Move KAT & hash calculation out of PLM_OCP macro" xilpm: versal: server: Add BISR support for BFRB module plm: versal_net: Fix Error Handling after In-Place PLM Update Signed-off-by: Siva Addepalli --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 25b1387f..6ff03ecb 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -10,7 +10,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[2023.1] = "e24fe92b5517ee447e560790e798cad792f53bab" ESW_REV[2023.2] = "6dd9d8283c5545c35353089e8ece1acb6c0d20b7" -ESW_REV[2024.1] = "716bcfce8a466cd3f7ef49995edf902dadf9bafb" +ESW_REV[2024.1] = "3fa1c3a5e3056c68280f84da0ff8da4a4e0d7631" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" @@ -19,7 +19,7 @@ EMBEDDEDSW_SRCURI ?= "${REPO};${EMBEDDEDSW_BRANCHARG}" LICENSE = "MIT" LIC_FILES_CHKSUM[xlnx_rel_v2023.1] = '3c310a3ee2197a4c92c6a0e2937c207c' LIC_FILES_CHKSUM[xlnx_rel_v2023.2-next] = '6677b545d223964a4906f97a2229bfc5' -LIC_FILES_CHKSUM[master-next] = '6677b545d223964a4906f97a2229bfc5' +LIC_FILES_CHKSUM[master-next] = '9fceecdbcad88698f265578f3d4cb26c' LIC_FILES_CHKSUM ??= "file://license.txt;md5=${@d.getVarFlag('LIC_FILES_CHKSUM', d.getVar('BRANCH')) or '0'}" SRC_URI = "${EMBEDDEDSW_SRCURI}" -- cgit v1.2.3-54-g00ecf From 22923189fec3036ef3171090f6a5eaccfa5d312c Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 5 Oct 2023 12:46:19 +0530 Subject: qemu : Updated SRCREV for 2024.1_2663 arm: Add support for r52 IMP_PERIPHPREGIONR register Signed-off-by: Siva Addepalli --- meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc index 15201959..6de3a010 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc @@ -1,3 +1,3 @@ XILINX_QEMU_VERSION = "v7.1.0" BRANCH = "master" -SRCREV = "5b17802c28879d2150df5ea16d8719aab3ee26a0" +SRCREV = "23b643ba1683a47ef49447a45643fe2172d6f8ca" -- cgit v1.2.3-54-g00ecf From e1f4a4f90e57121ad13c4c10d9b4a65c6c52e408 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 5 Oct 2023 12:51:18 +0530 Subject: aie-rt : Updated SRCREV for 2024.1_8439 driver:src: AIE decoupling build bsp & build app failed Signed-off-by: Siva Addepalli --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index 12bf5111..c85c6bc2 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "main-aie" -SRCREV ?= "4864a5442fbaeba71bd7b3446c10c5607424e9d0" +SRCREV ?= "39511b903db11272e89982f9a256ecb879a0a8bb" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From 09f5338fa872ad6ff4724929986c1a343aeb7c66 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Tue, 3 Oct 2023 15:36:42 -0500 Subject: embeddedsw: Update to release version Move to release branch, which is rebased from the dev branch Changelog: scripts: pyesw: build_app: Add command line arg to specify .repo.yaml path update Embedded SW license 2023.2 release scripts: pyesw: library_utils: Pull the xilflash library irrespective of the hardware dependency sw_services:xilsecure:Fixed MISRA-C Rule 12.2 violation sw_services:xilsecure:Fixed compilation warning for ecdsa example sw_services:xilsecure:Fixed MISRA-C Rule 10.3 and 10.4 violations sw_services:xilsecure:Fixed misra-c Rule 8.13 violation sw_services:xilsecure:Fixed coverity warnings updated for ddrcpsu changelog Revert "uartps: Fix xuartps_intr_example compilation errors in SDT flow" xilsem: Update copyright information in xsem_ebdgoldendata.c updated for license and copyright xilpm: versal: server: Add XPM_POLL_TIMEOUT definition for CPPUTEST xilskey: added SDT support for examples Signed-off-by: Mark Hatle --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 6ff03ecb..3fdc22e0 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -4,12 +4,12 @@ ESW_VER ?= "${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or 'master' REPO ??= "git://github.com/Xilinx/embeddedsw.git;protocol=https" ESW_BRANCH[2023.1] = "xlnx_rel_v2023.1" -ESW_BRANCH[2023.2] = "xlnx_rel_v2023.2-next" +ESW_BRANCH[2023.2] = "xlnx_rel_v2023.2" ESW_BRANCH[2024.1] = "master-next" BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[2023.1] = "e24fe92b5517ee447e560790e798cad792f53bab" -ESW_REV[2023.2] = "6dd9d8283c5545c35353089e8ece1acb6c0d20b7" +ESW_REV[2023.2] = "19ade382dd3b8a89aa737d9a67ceb2d28c6ab1bc" ESW_REV[2024.1] = "3fa1c3a5e3056c68280f84da0ff8da4a4e0d7631" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" @@ -18,7 +18,7 @@ EMBEDDEDSW_SRCURI ?= "${REPO};${EMBEDDEDSW_BRANCHARG}" LICENSE = "MIT" LIC_FILES_CHKSUM[xlnx_rel_v2023.1] = '3c310a3ee2197a4c92c6a0e2937c207c' -LIC_FILES_CHKSUM[xlnx_rel_v2023.2-next] = '6677b545d223964a4906f97a2229bfc5' +LIC_FILES_CHKSUM[xlnx_rel_v2023.2] = '9fceecdbcad88698f265578f3d4cb26c' LIC_FILES_CHKSUM[master-next] = '9fceecdbcad88698f265578f3d4cb26c' LIC_FILES_CHKSUM ??= "file://license.txt;md5=${@d.getVarFlag('LIC_FILES_CHKSUM', d.getVar('BRANCH')) or '0'}" -- cgit v1.2.3-54-g00ecf From af7a51bcd43b24d99c94f4f72ae82e734321912a Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Tue, 3 Oct 2023 12:48:42 +0530 Subject: Updated SRCREV of vdu-firmware for 2023.2_5515 fix: data cache issue Signed-off-by: Siva Addepalli Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100755 => 100644 meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.2.bb diff --git a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.2.bb b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.2.bb old mode 100755 new mode 100644 index 4deb1f51..e9ef222b --- a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.2.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.2.bb @@ -15,7 +15,7 @@ REQUIRED_MACHINE_FEATURES = "vdu" BRANCH ?= "xlnx_rel_v2023.2" REPO ?= "git://github.com/Xilinx/vdu-firmware.git;protocol=https" -SRCREV ?= "63fe2fce6e46d5bf03e33300a58a37d8568722ee" +SRCREV ?= "731897772730178f6a4e77eedeb4fb53faa1ab4d" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" -- cgit v1.2.3-54-g00ecf From 16f76bc2f35029e6864e49670af0ef66be7b3694 Mon Sep 17 00:00:00 2001 From: John Toomey Date: Fri, 18 Aug 2023 17:38:12 +0100 Subject: xlnx-embeddedsw: Update 2023.1 branch to xlnx_rel_v2023.1_update This change includes the Kria K24/KD240 changes in xlnx-embeddedsw by default for all embeddedsw components Signed-off-by: John Toomey Signed-off-by: Mark Hatle (cherry picked from commit 20bbd9c268299c2b11d7fc4fc1abcbf576b5e9ff) Signed-off-by: Mark Hatle --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 3fdc22e0..6745a374 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -3,12 +3,12 @@ ESW_VER ?= "${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or 'master' REPO ??= "git://github.com/Xilinx/embeddedsw.git;protocol=https" -ESW_BRANCH[2023.1] = "xlnx_rel_v2023.1" +ESW_BRANCH[2023.1] = "xlnx_rel_v2023.1_update" ESW_BRANCH[2023.2] = "xlnx_rel_v2023.2" ESW_BRANCH[2024.1] = "master-next" BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" -ESW_REV[2023.1] = "e24fe92b5517ee447e560790e798cad792f53bab" +ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "19ade382dd3b8a89aa737d9a67ceb2d28c6ab1bc" ESW_REV[2024.1] = "3fa1c3a5e3056c68280f84da0ff8da4a4e0d7631" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" @@ -17,7 +17,7 @@ EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH' EMBEDDEDSW_SRCURI ?= "${REPO};${EMBEDDEDSW_BRANCHARG}" LICENSE = "MIT" -LIC_FILES_CHKSUM[xlnx_rel_v2023.1] = '3c310a3ee2197a4c92c6a0e2937c207c' +LIC_FILES_CHKSUM[xlnx_rel_v2023.1_update] = '3c310a3ee2197a4c92c6a0e2937c207c' LIC_FILES_CHKSUM[xlnx_rel_v2023.2] = '9fceecdbcad88698f265578f3d4cb26c' LIC_FILES_CHKSUM[master-next] = '9fceecdbcad88698f265578f3d4cb26c' LIC_FILES_CHKSUM ??= "file://license.txt;md5=${@d.getVarFlag('LIC_FILES_CHKSUM', d.getVar('BRANCH')) or '0'}" -- cgit v1.2.3-54-g00ecf From 996efa445c433cae757dd07f33b3e85c5794ec16 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Wed, 4 Oct 2023 09:58:44 -0600 Subject: meta-xilinx-core: layer.conf: Move to prefer ATF 3.0 arm-trusted-firmware was moved forward to the 3.0 version. Adjust the PREFERRED_VERSION to match. Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/layer.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/conf/layer.conf b/meta-xilinx-core/conf/layer.conf index 51c3bd6d..1a2b2777 100644 --- a/meta-xilinx-core/conf/layer.conf +++ b/meta-xilinx-core/conf/layer.conf @@ -56,7 +56,7 @@ PREFERRED_VERSION_qemu-devicetrees ?= "xilinx-${XILINX_RELEASE_VERSION}%" XILINX_ATF_VERSION[v2023.1] = "2.8-xilinx-v2023.1%" XILINX_ATF_VERSION[v2023.2] = "2.8-xilinx-v2023.2%" -XILINX_ATF_VERSION[v2024.1] = "2.8-xilinx-v2024.1%" +XILINX_ATF_VERSION[v2024.1] = "3.0-xilinx-v2024.1%" PREFERRED_VERSION_arm-trusted-firmware ?= "${@d.getVarFlag('XILINX_ATF_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" XILINX_UBOOT_VERSION[v2023.1] = "v2023.01-xilinx-v2023.1%" -- cgit v1.2.3-54-g00ecf From 857db15a7fe9c97d5755b7c90dd7919c7c11d924 Mon Sep 17 00:00:00 2001 From: saumya garg Date: Fri, 6 Oct 2023 11:46:11 +0530 Subject: xrt, zocl: Update commit id for 2024.1 and remove libmetal dependency Changelog: removing libmetal dependency in XRT (#7733) Add support for trace event logging at API level (#7728) Fixed issue where Profiling CSV was not being generated successfully (#7730) Enhancing mem-bw testcase to print individual bank name and throughput (#7713) Fix edge build for debian flow (#7731) Removing unnecessary include (#7727) Signed-off-by: saumya garg Signed-off-by: Mark Hatle --- .../dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_git.bbappend | 4 ++-- meta-xilinx-core/recipes-xrt/xrt/xrt.inc | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_git.bbappend b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_git.bbappend index 2b96f152..e0de911f 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_git.bbappend +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_git.bbappend @@ -3,12 +3,12 @@ PACKAGE_ARCH:versal-ai-core = "${SOC_VARIANT_ARCH}" EXTRA_OECMAKE:append:versal-ai-core = " -DXRT_AIE_BUILD=true" TARGET_CXXFLAGS:append:versal-ai-core = " -DXRT_ENABLE_AIE" -DEPENDS:append:versal-ai-core = " libmetal libxaiengine aiefal" +DEPENDS:append:versal-ai-core = " libxaiengine aiefal" RDEPENDS:${PN}:append:versal-ai-core = " libxaiengine aiefal" # For vek280 kind of devices PACKAGE_ARCH:versal-ai-edge = "${SOC_VARIANT_ARCH}" EXTRA_OECMAKE:append:versal-ai-edge = " -DXRT_AIE_BUILD=true" TARGET_CXXFLAGS:append:versal-ai-edge = " -DXRT_ENABLE_AIE" -DEPENDS:append:versal-ai-edge = " libmetal libxaiengine aiefal" +DEPENDS:append:versal-ai-edge = " libxaiengine aiefal" RDEPENDS:${PN}:append:versal-ai-edge = " libxaiengine aiefal" diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc index 067e58d7..a3d04402 100644 --- a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc @@ -2,8 +2,8 @@ REPO ?= "git://github.com/Xilinx/XRT.git;protocol=https" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG};name=xrt" -BRANCH= "2023.2" -SRCREV_xrt = "323fc40274fc0cf44b253925385613aa742050cf" +BRANCH= "master" +SRCREV_xrt = "ca4a49bdf51ef441e190cc922e46aeaaacd36ff9" PV = "202320.2.16.0" SRC_URI += "git://github.com/Xilinx/dma_ip_drivers.git;branch=master;name=dma_ip_drivers;destsuffix=git/src/runtime_src/core/pcie/driver/linux/xocl/lib/libqdma;protocol=https" -- cgit v1.2.3-54-g00ecf From 23ae88ad4d24a7d9e46a201eb55c0b442a34b234 Mon Sep 17 00:00:00 2001 From: Rohit Visavalia Date: Mon, 9 Oct 2023 05:56:40 -0700 Subject: Add rule to make syncIP node under video group Make syncIP node under video group so that any user added to video groups can run Xilinx SyncIP device. Signed-off-by: Rohit Visavalia Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-multimedia/vcu/files/99-vcu-enc-dec.rules | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta-xilinx-core/recipes-multimedia/vcu/files/99-vcu-enc-dec.rules b/meta-xilinx-core/recipes-multimedia/vcu/files/99-vcu-enc-dec.rules index 4643ad37..1e0008a0 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/files/99-vcu-enc-dec.rules +++ b/meta-xilinx-core/recipes-multimedia/vcu/files/99-vcu-enc-dec.rules @@ -5,3 +5,6 @@ SUBSYSTEM=="allegro_decode_class", KERNEL=="allegroDecodeIP", MODE="0660", GROUP # Xilinx Video DMA driver SUBSYSTEM=="char", KERNEL=="dmaproxy", MODE="0660", GROUP="video" +# Xilinx SyncIP driver +SUBSYSTEM=="xlnxsync", KERNEL=="xlnxsync0", MODE="0660", GROUP="video" + -- cgit v1.2.3-54-g00ecf From 478b2fed2e29963463403aef2fd88dec17560d96 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 12 Oct 2023 15:20:08 +0530 Subject: aie-rt : Updated SRCREV for 2024.1_4975 Update send-email.yml Update send-email.yml Update send-email.yml Removing aie system test infrastructure (#23) Merge pull request #21 from abhattar/main-aie Merge branch ai-engine:main-aie into main-aie adding github script Add support for AIE Driver system tests [main-aie] adding testing infrastructure Signed-off-by: Siva Addepalli --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index c85c6bc2..e8e6a985 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "main-aie" -SRCREV ?= "39511b903db11272e89982f9a256ecb879a0a8bb" +SRCREV ?= "77d4772e77f0560f1e9a9ff72320af8b4660a333" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From 9d54e4a73270b39108ba208c5ba787f728c95114 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 12 Oct 2023 15:19:43 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_1571 wdttb: Remove unneeded depends section from the yaml bsp:standalone: Fixed source code-format issue. bsp:standalone: Add support for string format specifiers within the xil_printf scripts: pyesw: open_amp: Extend cleanup support for Libmetal and OpenAMP scripts: pyesw: open_amp: Simplify openamp-lopper run scripts: pyesw: open_amp: Add support for Zynq for OpenAMP and Libmetal in BSP scripts: Enable OpenAMP and Libmetal demos to mimic convention of other ESW apps XilOcp: Handle the CDO command, whose payload is more than 8 words on chunk boundary VersalNet: Add support for SCR enabled RSA quiet mode lib:Fixed source code-format issue. bsp:standalone: Update Memory test API in BSP. lib: sw_apps: memory_test: Update test to cover whole memory as mentioned in memory range. lib:sw_apps: Support memory tests for memory size more than 4 GB spips: data: Update header file and driver version spips: Fix name mismatch issue of tpm_polled_example srio: Fixed Source code-format issues. srio: Update addtogroup issue scripts: pyesw: build_app: Add command line arg to specify .repo.yaml path Adding required yaml and cmake files xio.*: adding io mapping related files fs-xspi.* using the common configs Using the configs from xparameters.h file CMakeLists.txt: adding xio.h and xio.c files to MB xilpm: versal_common: server: Remove PM_CLOCK_GET_RATE API sw_services:xilloader: Remove SHA3 initialization sw_services:xilloader:Run KAT during Authenticated Jtag message Signed-off-by: Siva Addepalli --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 6745a374..f96ecc50 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -10,7 +10,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "19ade382dd3b8a89aa737d9a67ceb2d28c6ab1bc" -ESW_REV[2024.1] = "3fa1c3a5e3056c68280f84da0ff8da4a4e0d7631" +ESW_REV[2024.1] = "753e4c3ebf3b6365fadf6771e244a6e08979b92b" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From bceea9b18e3c33b91098a26ff00a851defc89cb7 Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Fri, 13 Oct 2023 12:30:12 +0530 Subject: Updated Commit ID README.md: Update with latest usage options gen-machineconf: Update args help messages common_utils.py: Improve error message for lopper check Signed-off-by: Siva Addepalli --- meta-xilinx-core/gen-machine-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf index 34e50388..b5f6468d 160000 --- a/meta-xilinx-core/gen-machine-conf +++ b/meta-xilinx-core/gen-machine-conf @@ -1 +1 @@ -Subproject commit 34e50388f764432bea5addf544bb7dd8fbf3b2d0 +Subproject commit b5f6468da4b2c8d7331e14f2594fb1da2ce41f5b -- cgit v1.2.3-54-g00ecf From cacf35fc667fa48299a289022dd217ac2fcb75a6 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 13 Oct 2023 20:28:30 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_7279 arm64: zynqmp: Remove kv260 PL overlays test: py: tests: Add test case to write and read multiple files from MMC test: py: tests: Extend i2c test to cover all buses spi: cadence_qspi: Fix versal ospi indirect write timed out issue configs: zynq: Disable the config CONFIG_SPI_FLASH_USE_4K_SECTORS spi: cadence_ospi_versal: Add support for 64-bit address arm64: zynqmp: Remove unused xlnx,phy-type DT property net: phy: xilinx_phy: Get rid of using property xlnx, phy-type Revert "arm64: zynqmp: Add the fclk node" arm64: versal-net: Add missing xlnx,versal-firmware string arm64: zynqmp: Add output-enable pins to SOM KD240 arm64: versal-net: Append xlnx,versal-clk to clock node arm64: zynqmp: Enable uart0 with pinctrl description arm64: zynqmp: Add support for K26 rev2 boards arm64: zynqmp: Setup default si570 frequency to 156.25MHz Signed-off-by: Siva Addepalli --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index 269d8f19..1fff6ed0 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2023.01" UBRANCH = "master" -SRCREV = "50f4accf971fe2708a4b4fd515bb5542c50e7f5d" +SRCREV = "939c03d124cb3e5a07edeb9a1d9c12cf650a1468" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From 2384364064570d2ff5ad3beeefae5c7b326b856b Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 13 Oct 2023 20:57:13 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_8803 sdps: Fix code format issues sdps: Fix compilation error on Microblaze RISC-V sdps: Increment driver version versal_psmfw: versal_net: remove p-channel request from APU req power down Signed-off-by: Siva Addepalli --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index f96ecc50..84f21d23 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -10,7 +10,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "19ade382dd3b8a89aa737d9a67ceb2d28c6ab1bc" -ESW_REV[2024.1] = "753e4c3ebf3b6365fadf6771e244a6e08979b92b" +ESW_REV[2024.1] = "237028b8a409a1f45c5b2f9841d8a040664bb948" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From d0f548c5b107a3da338f0a18cf01d698f90c753d Mon Sep 17 00:00:00 2001 From: Swagath Gadde Date: Tue, 10 Oct 2023 14:59:21 +0530 Subject: u-boot-xlnx-scr: add DEVICETREE_ADDRESS_SD variable in boot script Add support to load the different DTB load address in SD boot mode using the DEVICETREE_ADDRESS_SD variable in generic boot script. use case: When TF-A is doing some runtime memory reservation and that can be hand-off to kernel by u-boot. so satisy that case in SD boot mode we should load kernel dtb at different address so that it dont override dtb packed in BOOT.BIN. Signed-off-by: Swagath Gadde Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr.bb | 2 ++ .../recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.generic | 12 ++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr.bb b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr.bb index 6410fc25..c3af0185 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr.bb +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr.bb @@ -65,6 +65,7 @@ UBOOTPXE_CONFIG ?= "pxelinux.cfg" UBOOTPXE_CONFIG_NAME = "${UBOOTPXE_CONFIG}${IMAGE_VERSION_SUFFIX}" DEVICETREE_ADDRESS ?= "${@append_baseaddr(d,d.getVar('DEVICETREE_OFFSET'))}" +DEVICETREE_ADDRESS_SD ?= "${DEVICETREE_ADDRESS}" DEVICETREE_OFFSET:microblaze ??= "0x1e00000" DEVICETREE_OFFSET:zynqmp ??= "0x100000" @@ -214,6 +215,7 @@ do_compile() { -e 's/@@KERNEL_LOAD_ADDRESS@@/${KERNEL_LOAD_ADDRESS}/' \ -e 's/@@DEVICE_TREE_NAME@@/${DEVICE_TREE_NAME}/' \ -e 's/@@DEVICETREE_ADDRESS@@/${DEVICETREE_ADDRESS}/' \ + -e 's/@@DEVICETREE_ADDRESS_SD@@/${DEVICETREE_ADDRESS_SD}/' \ -e 's/@@DEVICETREE_OVERLAY_ADDRESS@@/${DEVICETREE_OVERLAY_ADDRESS}/' \ -e 's/@@RAMDISK_IMAGE@@/${RAMDISK_IMAGE}/' \ -e 's/@@RAMDISK_IMAGE_ADDRESS@@/${RAMDISK_IMAGE_ADDRESS}/' \ diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.generic b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.generic index d99932ed..e09bdfa9 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.generic +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.generic @@ -39,25 +39,25 @@ do fatload ${devtype} ${devnum}:${distro_bootpart} @@KERNEL_LOAD_ADDRESS@@ ${kernel_name}; fi if test -e ${devtype} ${devnum}:${distro_bootpart} /system.dtb; then - fatload ${devtype} ${devnum}:${distro_bootpart} @@DEVICETREE_ADDRESS@@ system.dtb; - setenv fdtcontroladdr @@DEVICETREE_ADDRESS@@ + fatload ${devtype} ${devnum}:${distro_bootpart} @@DEVICETREE_ADDRESS_SD@@ system.dtb; + setenv fdtcontroladdr @@DEVICETREE_ADDRESS_SD@@ fi if test -e ${devtype} ${devnum}:${distro_bootpart} /devicetree/openamp.dtbo; then fatload ${devtype} ${devnum}:${distro_bootpart} @@DEVICETREE_OVERLAY_ADDRESS@@ devicetree/openamp.dtbo; - fdt addr @@DEVICETREE_ADDRESS@@ + fdt addr @@DEVICETREE_ADDRESS_SD@@ fdt resize 8192 fdt apply @@DEVICETREE_OVERLAY_ADDRESS@@ fi run update_bootargs if test -e ${devtype} ${devnum}:${distro_bootpart} /${ramdisk_name} && test "${skip_tinyramdisk}" != "yes"; then fatload ${devtype} ${devnum}:${distro_bootpart} @@RAMDISK_IMAGE_ADDRESS@@ ${ramdisk_name}; - @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ @@RAMDISK_IMAGE_ADDRESS@@ @@DEVICETREE_ADDRESS@@ + @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ @@RAMDISK_IMAGE_ADDRESS@@ @@DEVICETREE_ADDRESS_SD@@ fi if test -e ${devtype} ${devnum}:${distro_bootpart} /${rootfs_name} && test "${skip_ramdisk}" != "yes"; then fatload ${devtype} ${devnum}:${distro_bootpart} @@RAMDISK_IMAGE_ADDRESS@@ ${rootfs_name}; - @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ @@RAMDISK_IMAGE_ADDRESS@@ @@DEVICETREE_ADDRESS@@ + @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ @@RAMDISK_IMAGE_ADDRESS@@ @@DEVICETREE_ADDRESS_SD@@ fi - @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ - @@DEVICETREE_ADDRESS@@ + @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ - @@DEVICETREE_ADDRESS_SD@@ fi if test "${boot_target}" = "xspi0" || test "${boot_target}" = "xspi1" || test "${boot_target}" = "qspi" || test "${boot_target}" = "qspi0"; then sf probe 0 0 0; -- cgit v1.2.3-54-g00ecf From f4d1cac9fce3b405272a353027c2787452ea2910 Mon Sep 17 00:00:00 2001 From: Shubhangi Mahalle Date: Tue, 10 Oct 2023 16:23:20 +0530 Subject: sp701-microblazeel:Add SP701 machine conf Added yocto machine configuration for SP701. Signed-off-by: Shubhangi Mahalle Signed-off-by: Mark Hatle --- .../conf/machine/sp701-microblazeel.conf | 52 ++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 meta-xilinx-bsp/conf/machine/sp701-microblazeel.conf diff --git a/meta-xilinx-bsp/conf/machine/sp701-microblazeel.conf b/meta-xilinx-bsp/conf/machine/sp701-microblazeel.conf new file mode 100644 index 00000000..e3df1d26 --- /dev/null +++ b/meta-xilinx-bsp/conf/machine/sp701-microblazeel.conf @@ -0,0 +1,52 @@ +#@TYPE: Machine +#@NAME: sp701-microblazeel +#@DESCRIPTION: Machine configuration for the SP701 boards. + +#### Preamble +MACHINEOVERRIDES =. "${@['', 'sp701-microblazeel:']['sp701-microblazeel' !='${MACHINE}']}" +#### Regular settings follow + +# Variables that changes based on hw design or board specific requirement must be +# defined before calling the required inclusion file else pre-expansion value +# defined in microblazeel-generic.conf will be set. + +# Yocto device-tree variables +YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "axi_uartlite_0" +YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "MIG_7SERIES_0" +DT_PADDING_SIZE:pn-device-tree ?= "0x1000" +DTC_FLAGS:pn-device-tree ?= "" +XSCTH_PROC:pn-device-tree ?= "microblaze_0" +YAML_DT_BOARD_FLAGS ?= "{BOARD sp701-rev1.0}" + +# Yocto u-boot-xlnx variables + +# Yocto FS-Boot variables +YAML_SERIAL_CONSOLE_STDIN:pn-fs-boot ?= "axi_uartlite_0" +YAML_SERIAL_CONSOLE_STDOUT:pn-fs-boot ?= "axi_uartlite_0" +YAML_MAIN_MEMORY_CONFIG:pn-fs-boot ?= "MIG_7SERIES_0" +YAML_FLASH_MEMORY_CONFIG:pn-fs-boot ?= "axi_quad_spi_0" +XSCTH_PROC:pn-fs-boot ?= "microblaze_0" + +# Yocto KERNEL Variables +UBOOT_ENTRYPOINT ?= "0x80000000" +UBOOT_LOADADDRESS ?= "0x80000000" + +# xilinx-sp701 Serial Console +SERIAL_CONSOLES ?= "115200;ttyUL0" +YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200" + +# Set DDR Base address for u-boot-xlnx-scr variables +DDR_BASEADDR ?= "0x80000000" +SKIP_APPEND_BASEADDR ?= "0" + +# Required generic machine inclusion +require conf/machine/microblaze-generic.conf + +# This machine conf file uses sp701-microblazeel xsa as reference input. +# User can override with kc705 custom xsa using HDF_BASE and HDF_PATH variables +# from local.conf. +HDF_MACHINE = "sp701-microblazeel" + +#### No additional settings should be after the Postamble +#### Postamble +PACKAGE_EXTRA_ARCHS:append = "${@['', ' sp701_microblazeel']['sp701-microblazeel' != '${MACHINE}']}" -- cgit v1.2.3-54-g00ecf From 7a968619559627745f3d79fd6a3b260efb6db28b Mon Sep 17 00:00:00 2001 From: Gregory Williams Date: Tue, 10 Oct 2023 09:38:50 -0700 Subject: meta-xilinx-core: ai-engine: Update version Updates aiefal and ai-engine-driver versions for 24.1 release Signed-off-by: Gregory Williams Signed-off-by: Mark Hatle --- .../recipes-bsp/ai-engine/ai-engine-driver_3.4.bb | 49 ---------------------- .../recipes-bsp/ai-engine/ai-engine-driver_3.5.bb | 49 ++++++++++++++++++++++ .../recipes-bsp/ai-engine/aiefal_1.5.bb | 35 ---------------- .../recipes-bsp/ai-engine/aiefal_1.6.bb | 35 ++++++++++++++++ 4 files changed, 84 insertions(+), 84 deletions(-) delete mode 100644 meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.4.bb create mode 100644 meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.5.bb delete mode 100644 meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.5.bb create mode 100644 meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.6.bb diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.4.bb b/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.4.bb deleted file mode 100644 index e364462b..00000000 --- a/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.4.bb +++ /dev/null @@ -1,49 +0,0 @@ -SUMMARY = "Xilinx AI Engine runtime" -DESCRIPTION = "This library provides APIs for the runtime support of the Xilinx AI Engine IP" - -require aie-rt.inc - -SECTION = "libs" - -AIEDIR ?= "${S}/driver" -S = "${WORKDIR}/git" -I = "${AIEDIR}/include" - -COMPATIBLE_MACHINE = "^$" -COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" -COMPATIBLE_MACHINE:versal-ai-edge = "${SOC_VARIANT_ARCH}" -PV = "3.3" - -IOBACKENDS ?= "Linux" - -DEPENDS = "${@bb.utils.contains('IOBACKENDS', 'metal', 'libmetal', '', d)}" -RDEPENDS:${PN} = "${@bb.utils.contains('IOBACKENDS', 'metal', 'libmetal', '', d)}" - -PROVIDES = "libxaiengine" -RPROVIDES:${PN} = "libxaiengine" - -# The makefile isn't ready for parallel execution at the moment -PARALLEL_MAKE = "-j 1" - -CFLAGS += "-Wall -Wextra" -CFLAGS += "${@bb.utils.contains('IOBACKENDS', 'Linux', ' -D__AIELINUX__', '', d)}" -CFLAGS += "${@bb.utils.contains('IOBACKENDS', 'metal', ' -D__AIEMETAL__', '', d)}" -EXTRA_OEMAKE = "-C ${AIEDIR}/src -f Makefile.Linux CFLAGS='${CFLAGS}'" - - -do_compile(){ - oe_runmake -} - -do_install(){ - install -d ${D}${includedir} - install ${I}/*.h ${D}${includedir}/ - install -d ${D}${includedir}/xaiengine - install ${I}/xaiengine/*.h ${D}${includedir}/xaiengine/ - install -d ${D}${libdir} - cp -dr ${AIEDIR}/src/*.so* ${D}${libdir} -} - -PACKAGE_ARCH:versal-ai-core = "${SOC_VARIANT_ARCH}" -PACKAGE_ARCH:versal-ai-edge = "${SOC_VARIANT_ARCH}" - diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.5.bb b/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.5.bb new file mode 100644 index 00000000..e364462b --- /dev/null +++ b/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.5.bb @@ -0,0 +1,49 @@ +SUMMARY = "Xilinx AI Engine runtime" +DESCRIPTION = "This library provides APIs for the runtime support of the Xilinx AI Engine IP" + +require aie-rt.inc + +SECTION = "libs" + +AIEDIR ?= "${S}/driver" +S = "${WORKDIR}/git" +I = "${AIEDIR}/include" + +COMPATIBLE_MACHINE = "^$" +COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" +COMPATIBLE_MACHINE:versal-ai-edge = "${SOC_VARIANT_ARCH}" +PV = "3.3" + +IOBACKENDS ?= "Linux" + +DEPENDS = "${@bb.utils.contains('IOBACKENDS', 'metal', 'libmetal', '', d)}" +RDEPENDS:${PN} = "${@bb.utils.contains('IOBACKENDS', 'metal', 'libmetal', '', d)}" + +PROVIDES = "libxaiengine" +RPROVIDES:${PN} = "libxaiengine" + +# The makefile isn't ready for parallel execution at the moment +PARALLEL_MAKE = "-j 1" + +CFLAGS += "-Wall -Wextra" +CFLAGS += "${@bb.utils.contains('IOBACKENDS', 'Linux', ' -D__AIELINUX__', '', d)}" +CFLAGS += "${@bb.utils.contains('IOBACKENDS', 'metal', ' -D__AIEMETAL__', '', d)}" +EXTRA_OEMAKE = "-C ${AIEDIR}/src -f Makefile.Linux CFLAGS='${CFLAGS}'" + + +do_compile(){ + oe_runmake +} + +do_install(){ + install -d ${D}${includedir} + install ${I}/*.h ${D}${includedir}/ + install -d ${D}${includedir}/xaiengine + install ${I}/xaiengine/*.h ${D}${includedir}/xaiengine/ + install -d ${D}${libdir} + cp -dr ${AIEDIR}/src/*.so* ${D}${libdir} +} + +PACKAGE_ARCH:versal-ai-core = "${SOC_VARIANT_ARCH}" +PACKAGE_ARCH:versal-ai-edge = "${SOC_VARIANT_ARCH}" + diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.5.bb b/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.5.bb deleted file mode 100644 index 6ac86a1b..00000000 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.5.bb +++ /dev/null @@ -1,35 +0,0 @@ -SUMMARY = "Xilinx AI Engine FAL(Functional Abstraction Layer)" -DESCRIPTION = "AIE FAL provides functional abstraction APIs for runtime support of Xilinx AI Engine IP" - -require aie-rt.inc - -SECTION = "devel" - -XAIEFAL_DIR ?= "fal" -S = "${WORKDIR}/git" - -COMPATIBLE_MACHINE = "^$" -COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" -COMPATIBLE_MACHINE:versal-ai-edge = "${SOC_VARIANT_ARCH}" - -IOBACKENDS ?= "Linux" - -PROVIDES = "aiefal" -ALLOW_EMPTY:${PN} = "1" - -inherit pkgconfig cmake - -DEPENDS = "libxaiengine" - -OECMAKE_SOURCEPATH = "${S}/${XAIEFAL_DIR}" - -EXTRA_OECMAKE = "-DWITH_TESTS=OFF " -EXTRA_OECMAKE:append = "${@'-DWITH_EXAMPLES=ON' if d.getVar('WITH_EXAMPLES') == 'y' else '-DWITH_EXAMPLES=OFF'}" - -FILES:${PN}-demos = " \ - ${bindir}/* \ -" - -PACKAGE_ARCH:versal-ai-core = "${SOC_VARIANT_ARCH}" -PACKAGE_ARCH:versal-ai-edge = "${SOC_VARIANT_ARCH}" - diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.6.bb b/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.6.bb new file mode 100644 index 00000000..6ac86a1b --- /dev/null +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.6.bb @@ -0,0 +1,35 @@ +SUMMARY = "Xilinx AI Engine FAL(Functional Abstraction Layer)" +DESCRIPTION = "AIE FAL provides functional abstraction APIs for runtime support of Xilinx AI Engine IP" + +require aie-rt.inc + +SECTION = "devel" + +XAIEFAL_DIR ?= "fal" +S = "${WORKDIR}/git" + +COMPATIBLE_MACHINE = "^$" +COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" +COMPATIBLE_MACHINE:versal-ai-edge = "${SOC_VARIANT_ARCH}" + +IOBACKENDS ?= "Linux" + +PROVIDES = "aiefal" +ALLOW_EMPTY:${PN} = "1" + +inherit pkgconfig cmake + +DEPENDS = "libxaiengine" + +OECMAKE_SOURCEPATH = "${S}/${XAIEFAL_DIR}" + +EXTRA_OECMAKE = "-DWITH_TESTS=OFF " +EXTRA_OECMAKE:append = "${@'-DWITH_EXAMPLES=ON' if d.getVar('WITH_EXAMPLES') == 'y' else '-DWITH_EXAMPLES=OFF'}" + +FILES:${PN}-demos = " \ + ${bindir}/* \ +" + +PACKAGE_ARCH:versal-ai-core = "${SOC_VARIANT_ARCH}" +PACKAGE_ARCH:versal-ai-edge = "${SOC_VARIANT_ARCH}" + -- cgit v1.2.3-54-g00ecf From 7a572ac584af867b48cb50dc9520b29420481560 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Thu, 12 Oct 2023 20:11:17 -0600 Subject: esw-conf: Move to embeddedsw and use BBCLASSEXTEND Make sure that we have native and nativesdk versions of esw-conf. Add a dependency on lopper and xilinx-lops, as presumably users of this recipe will need to use lopper to process the configurations. This will allow someone to use oe-run-native with esw-conf-native to use lopper to transform system to domain specific device trees and their associated configurations. Signed-off-by: Mark Hatle --- .../recipes-bsp/embeddedsw/esw-conf_git.bb | 34 ++++++++++++++++++++++ .../recipes-libraries/nativesdk-esw-conf_git.bb | 30 ------------------- 2 files changed, 34 insertions(+), 30 deletions(-) create mode 100644 meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/esw-conf_git.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/nativesdk-esw-conf_git.bb diff --git a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/esw-conf_git.bb b/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/esw-conf_git.bb new file mode 100644 index 00000000..e6cf1d8b --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/esw-conf_git.bb @@ -0,0 +1,34 @@ +# Can't depend on esw since this is needed for setup! +inherit xlnx-embeddedsw + +# We need to override the inherit +require conf/dtb-embeddedsw.inc + +S = "${WORKDIR}/git" +B = "${WORKDIR}/build" + +INHIBIT_DEFAULT_DEPS = "1" + +# Installing this recipe should install the lopper tools and such +DEPENDS = "lopper xilinx-lops" + +COMPATIBLE_HOST:forcevariable = ".*" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/" + +do_configure[noexec] = '1' +do_compile[noexec] = '1' + +do_install() { + # The configuration step requires only the yaml files, make them + # available to the SDK + cd ${S}${ESW_COMPONENT_SRC} + for each in `find . -name *.yaml` ; do + mkdir -p $(dirname ${D}/${datadir}/embeddedsw${ESW_COMPONENT_SRC}$each) + install -m 0644 $each ${D}/${datadir}/embeddedsw${ESW_COMPONENT_SRC}$each + done +} + +FILES:${PN} += "${datadir}/embeddedsw" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/nativesdk-esw-conf_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/nativesdk-esw-conf_git.bb deleted file mode 100644 index 63119fd4..00000000 --- a/meta-xilinx-standalone-experimental/recipes-libraries/nativesdk-esw-conf_git.bb +++ /dev/null @@ -1,30 +0,0 @@ -# Can't depend on esw since this is needed for setup! -inherit xlnx-embeddedsw nativesdk - -# We need to override the inherit -require conf/dtb-embeddedsw.inc - -S = "${WORKDIR}/git" -B = "${WORKDIR}/build" - -# Don't need any specific dependencies for this -DEPENDS = "" - -COMPATIBLE_HOST:forcevariable = ".*" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/" - -do_configure[noexec] = '1' -do_compile[noexec] = '1' - -do_install() { - # The configuration step requires only the yaml files, make them - # available to the SDK - cd ${S}${ESW_COMPONENT_SRC} - for each in `find . -name *.yaml` ; do - mkdir -p $(dirname ${D}/${datadir}/embeddedsw${ESW_COMPONENT_SRC}$each) - install -m 0644 $each ${D}/${datadir}/embeddedsw${ESW_COMPONENT_SRC}$each - done -} - -FILES:${PN} += "${datadir}/embeddedsw" -- cgit v1.2.3-54-g00ecf From 3b5337348fe58b21683542f78e83f1d631d4b1e8 Mon Sep 17 00:00:00 2001 From: John Toomey Date: Fri, 13 Oct 2023 14:03:27 +0100 Subject: Remove exec permission from bb files Signed-off-by: John Toomey Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2023.1.bb | 0 meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.1.bb | 0 meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.1.bb | 0 meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.1.bb | 0 meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb | 0 5 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2023.1.bb mode change 100755 => 100644 meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.1.bb mode change 100755 => 100644 meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.1.bb mode change 100755 => 100644 meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.1.bb mode change 100755 => 100644 meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb diff --git a/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2023.1.bb old mode 100755 new mode 100644 diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.1.bb old mode 100755 new mode 100644 diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.1.bb old mode 100755 new mode 100644 diff --git a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.1.bb old mode 100755 new mode 100644 diff --git a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb old mode 100755 new mode 100644 -- cgit v1.2.3-54-g00ecf From d0cc263f53e0a6b5b74b3e84cab4a4987c8971b6 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 16 Oct 2023 18:14:17 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_6055 xxvethernet: Updated xxvethernet driver code to support USXGMII IP xxvethernet: Update driver version qspipsu: data: Add support for versal premium qspipsu: data: Increment version number xilffs: Add support for TRIM operation in SDT flow sw_services:xilnvm: Fixed MISRA-C Rule 5.5 violation coresightps_dcc: Fix compilation error for Microblaze RISC-V BSP:cortexr5: Fix style issues in mpu_r52.c BSP:cortexr5: Add MPU region for HNIC address space sw_services: xilplmi: Add redundancy to TAMPER_RESP_0 and TAMPER_TRIG writes sw_services: xilplmi: Enable Slave Error for PSM_GLOBAL ThirdParty: libmetal: 2024.1 version libmetal: revert vfio changes Signed-off-by: Siva Addepalli --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 84f21d23..757513e9 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -10,7 +10,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "19ade382dd3b8a89aa737d9a67ceb2d28c6ab1bc" -ESW_REV[2024.1] = "237028b8a409a1f45c5b2f9841d8a040664bb948" +ESW_REV[2024.1] = "530469b7b3e477b14ef72238368faeccf06e268a" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From c3ca6f860b0fdfe420220effded600e76809260d Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 17 Oct 2023 18:19:23 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_9167 mtd: spi-nor: Add debug logs for top/bottom protected locking Signed-off-by: Siva Addepalli --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index 1fff6ed0..89bd977d 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2023.01" UBRANCH = "master" -SRCREV = "939c03d124cb3e5a07edeb9a1d9c12cf650a1468" +SRCREV = "2bb777cd7a00b3f64e05971272786b6be77bb830" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From 56f0f8ec5625ac5efbcf11112989fe495a73209e Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 17 Oct 2023 18:24:02 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_3599 sw_services:xilsecure:Fixed OVER_RUN coverity warning for versalnet sw_services:xilsecure:Fixed MISRA-C Rule 18.1 violation and OVER_RUN coverity warning sw_services:xilsecure:Fixed MISRA-C Rule 8.13 violation sw_services:xilsecure:Fixed MISRA-C Rule 8.7 violation sw_services:xilsecure:Fixed MISRA-C Rule 12.2 violation sw_services:xilsecure:Fixed REVERSE_INULL coverity warning Signed-off-by: Siva Addepalli --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 757513e9..761006d8 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -10,7 +10,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "19ade382dd3b8a89aa737d9a67ceb2d28c6ab1bc" -ESW_REV[2024.1] = "530469b7b3e477b14ef72238368faeccf06e268a" +ESW_REV[2024.1] = "587a5592e807c1124034dfa733dced17bebf0c5c" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From cd001a89128d02508814cda40f1825dbc9086c3d Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Wed, 18 Oct 2023 12:30:15 +0530 Subject: Updated Commit ID hw-description.tcl: Removed kernel base address from system configuartion Kconfig.part: Removed TF-A CONFIG_SUBSYSTEM_PRELOADED_BL33_BASE entry Signed-off-by: Siva Addepalli --- meta-xilinx-core/gen-machine-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf index b5f6468d..3a16c0f9 160000 --- a/meta-xilinx-core/gen-machine-conf +++ b/meta-xilinx-core/gen-machine-conf @@ -1 +1 @@ -Subproject commit b5f6468da4b2c8d7331e14f2594fb1da2ce41f5b +Subproject commit 3a16c0f9e3a84b1ae2b8b75bc459c0a81cd7f70b -- cgit v1.2.3-54-g00ecf From 05599991526b3fe53877b7c3671ca998aad4edd3 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 18 Oct 2023 12:45:46 +0530 Subject: arm-trusted-firmware : Updated SRCREV for 2024.1_4783 Merge changes from topic "ns/spmc_at_el3" into integration feat(rdn2): introduce platform handler for Group0 interrupt feat(rdn2): add plat hook for memory transaction feat(rdn2): introduce accessor function to obtain datastore feat(spm): separate StMM SP specifics to add support for a S-EL0 SP feat(rdn2): add defines needed for spmc-el3 feat(ras): reuse SPM_MM specific defines for SPMC_AT_EL3 feat(bl31): reuse SPM_MM specific defines for SPMC_AT_EL3 feat(arm): reuse SPM_MM specific defines for SPMC_AT_EL3 feat(el3-spmc): add a flag to enable support to load SEL0 SP refactor(spm-mm): reorganize secure partition manager shim code Merge "refactor(console): disable getc() by default" into integration refactor(console): disable getc() by default Merge "docs(build): update GCC to 12.3.Rel1 version" into integration Merge changes I9c2bf78a,Iaff5f1fa,I44686a36 into integration docs(build): update GCC to 12.3.Rel1 version Merge changes from topic "refactor_prepare_dtb" into integration refactor(zynqmp): use common code for prepare_dtb refactor(xilinx): remove multiple return paths in prepare_dtb Merge changes from topic "bk/context_refactor" into integration Merge changes from topic "mb/psa-crypto-support" into integration refactor(cm): enable S-EL2 globally for all contexts Merge "fix(cpus): workaround for Cortex-X3 erratum 2070301" into integration refactor(cm): remove world differentiation for EL2 context restore fix(cm): make ICC_SRE_EL2 fixup generic to all worlds refactor(cm): clean up SCR_EL3 and CPTR_EL3 initialization fix(imx8m): map BL32 memory only if SPD_opteed or SPD_trusty is enabled feat(imx8mn): add workaround for errata ERR050362 feat(imx8m): enable snvs privileged registers access Merge "fix(docs): remove out-dated information about CI review comments" into integration fix(docs): remove out-dated information about CI review comments feat(mbedtls-psa): use PSA crypto API during signature verification feat(mbedtls-psa): use PSA crypto API during hash calculation feat(mbedtls-psa): use PSA crypto API for hash verification feat(mbedtls-psa): initialise mbedtls psa crypto feat(mbedtls-psa): register an ad-hoc PSA crypto driver fix(cpus): workaround for Cortex-X3 erratum 2070301 Merge "feat(build): manage patch version in Makefile" into integration feat(build): manage patch version in Makefile Merge "fix(versal-net): use correct macro name for uart baudrate" into integration fix(versal-net): use correct macro name for uart baudrate feat(mbedtls-psa): introduce PSA_CRYPTO build option docs(changelog): add scope for MbedTLS PSA Crypto Merge changes from topic "st_fixes" into integration Merge "feat(mt8188): add DSB before udelay" into integration Merge "feat(rmmd): pass SMCCCv1.3 SVE hint bit to RMM" into integration feat(rmmd): pass SMCCCv1.3 SVE hint bit to RMM Merge "feat(rmmd): enable SME for RMM" into integration Merge changes from topic "xilinx-console-sync" into integration feat(mt8188): add DSB before udelay feat(rmmd): enable SME for RMM Merge changes from topic "rm/handoff" into integration Merge changes from topic "xlnx_dcc_console" into integration Merge "fix(docs): add missing line in the fiptool command for stm32mp1" into integration Merge "docs: update TF-A v2.10 release information" into integration fix(xilinx): remove console error message fix(docs): add missing line in the fiptool command for stm32mp1 docs: update TF-A v2.10 release information Merge "refactor(ast2700): adopt RESET_TO_BL31 boot flow" into integration Merge changes from topic "mp/fix_interrupt_type" into integration chore(dcc): remove unnecessary code in dcc refactor(ast2700): adopt RESET_TO_BL31 boot flow feat(qemu): implement firmware handoff on qemu fix(st): enable RTC clock before accessing nv counter fix(st-crypto): use GENMASK_32 to define PKA registers masks fix(st): update comment on encryption key fix(dcc): add dcc console unregister function Merge "fix(spmd): coverity scan issues" into integration fix(st): allow crypto lib compilation in aarch64 fix(st-uart): allow 64 bit compilation fix(st): reduce MMC block_buffer fix(stm32mp13-fdts): cosmetic fixes in PLL nodes fix(st): update dt_get_ddr_size() type fix(nand): reset the SLC NAND fix(st-crypto): do not read RNG data if its not ready feat(xilinx): sync macro names feat(xilinx): remove crash console unused macros Merge changes from topic "xilinx-crash" into integration Merge "feat(mt8188): update return value in mtk_emi_mpu_sip_handler" into integration feat(mt8188): update return value in mtk_emi_mpu_sip_handler Merge "feat(fiptool): add ability to build statically" into integration Merge "fix(corstone-1000): add cpu_helpers.S to platform.mk" into integration refactor(el3-runtime): plat_ic_has_interrupt_type returns bool fix(el3-runtime): leverage generic interrupt controller helpers fix(gicv3): map generic interrupt type to GICv3 group chore(gicv2): use interrupt group instead of type fix(spmd): coverity scan issues feat(fiptool): add ability to build statically Merge changes If9672598,I219c49d3 into integration Merge "fix(errata-abi): fix the rev-var for Cortex-A710" into integration Merge changes from topic "errata" into integration feat(handoff): introduce firmware handoff library fix(errata-abi): fix the rev-var for Cortex-A710 Merge "fix(cpus): update the fix for Cortex-A78AE erratum 1941500" into integration fix(cpus): update the fix for Cortex-A78AE erratum 1941500 feat(cert-create): add pkcs11 engine support Merge "fix(ufs): performs unsigned shift for doorbell" into integration fix(cert-create): key: Avoid having a temporary value for pkey in key_load Merge "fix(st-ddr): express memory size with size_t type" into integration feat(xilinx): used console also as crash console feat(versal-net): remove empty crash console setup Merge "feat(ethos-n): update npu error handling" into integration Merge "fix(cpufeat): move nested virtualization support to optionals" into integration Merge "fix(mmc): initialises response buffer with zeros" into integration fix(cpufeat): move nested virtualization support to optionals Merge "chore: remove MULTI_CONSOLE_API references" into integration Merge "fix(qemu_sbsa): align FIP base to BL1 size" into integration Merge "feat(qemu): add "neoverse-n2" cpu support" into integration fix(cpus): workaround for Neoverse V2 erratum 2743011 fix(cpus): workaround for Neoverse V2 erratum 2779510 fix(cpus): workaround for Neoverse V2 erratum 2719105 fix(cpus): workaround for Neoverse V2 erratum 2331132 Merge "refactor(cpufeat): refactor arch feature build options" into integration fix(qemu_sbsa): align FIP base to BL1 size Merge "docs(maintainers): update corstone1000 maintainers" into integration docs(maintainers): update corstone1000 maintainers Merge "fix(auth): dont overwrite pk with converted pk when rotpk is hash" into integration fix(st-ddr): express memory size with size_t type fix(ufs): performs unsigned shift for doorbell fix(mmc): initialises response buffer with zeros feat(qemu): add "neoverse-n2" cpu support refactor(cpufeat): refactor arch feature build options Merge changes from topic "stm32mp2" into integration Merge changes from topic "xlnx_mmap_dynamic_dtb" into integration Merge "feat(qemu): add A55 cpu support for virt" into integration Merge "fix(plat/arm): do not program DSU CLUSTERPWRDN register" into integration Merge "fix: bl2 start address for RESET_TO_BL2+ENABLE_PIE" into integration fix(plat/arm): do not program DSU CLUSTERPWRDN register Merge "fix(fvp): conditionally increase XLAT and MMAP table entries" into integration fix(xilinx): dcache flush for dtb region fix(xilinx): dynamic mmap region for dtb Merge "feat(qemu): add "cortex-a710" cpu support" into integration fix(fvp): conditionally increase XLAT and MMAP table entries fix(corstone-1000): add cpu_helpers.S to platform.mk feat(qemu): add A55 cpu support for virt fix(auth): dont overwrite pk with converted pk when rotpk is hash feat(qemu): add "cortex-a710" cpu support fix: bl2 start address for RESET_TO_BL2+ENABLE_PIE Merge "refactor(arm): avoid setting HASH_PREREQUISITES for a build without ROT_KEY" into integration Merge "feat(mbedtls): update to 3.4.1" into integration chore: remove MULTI_CONSOLE_API references Merge "docs(maintainers): add maintainers for i.MX9 SoCs" into integration feat(mbedtls): update to 3.4.1 Merge changes from topic "mb/spm+rme-tb-mb-support" into integration Merge "feat(fvp): capture timestamps in bl stages" into integration Merge changes from topic "sm/errata_X3" into integration Merge "fix(docs): replace deprecated urls under tfa/docs" into integration feat(stm32mp2): generate stm32 file feat(stm32mp2-fdts): add stm32mp257f-ev1 board feat(stm32mp2-fdts): introduce stm32mp25 pinctrl files feat(stm32mp2-fdts): introduce stm32mp25 SoCs family feat(stm32mp2): add console configuration feat(st): add RCC registers list feat(st-uart): add AARCH64 stm32_console driver feat(st): introduce new platform STM32MP2 feat(dt-bindings): add the STM32MP2 clock and reset bindings docs(changelog): add scopes for STM32MP2 feat(docs): introduce STM32MP2 doc refactor(docs): add a sub-menu for ST platforms refactor(st): move plat_image_load.c refactor(st): rename PLAT_NB_FIXED_REGS refactor(st): move some storage definitions to common part refactor(st): move SDMMC definitions to driver feat(st-clock): stub fdt_get_rcc_secure_state feat(st-clock): allow aarch64 compilation of STGEN functions feat(st): allow AARCH64 compilation for common code refactor(st): rename QSPI macros feat(fvp): capture timestamps in bl stages fix(cpus): workaround for Cortex-X3 erratum 2742421 fix(docs): replace deprecated urls under tfa/docs feat(errata_abi): add support for Cortex-X3 Merge "fix(cpus): workaround for Neoverse N2 erratum 2009478" into integration Merge "feat(qemu): add dummy plat_mboot_measure_key() BL1 function" into integration fix(fvp): increase the maximum size of Event Log fix(fvp): increase maximum MMAP and XLAT entries count fix(arm): add Event Log area behind Trustzone Controller fix(tbbr): unrecognised tos-fw-key-cert option Merge changes from topic "xlnx_zynqmp_console" into integration feat(qemu): add dummy plat_mboot_measure_key() BL1 function Merge "fix(xilinx): dont reserve 1 more byte" into integration Merge changes I3bfdb007,I9a383e6d into integration build(poetry): bump requests from 2.30.0 to 2.31.0 build(npm): bump word-wrap from 1.2.3 to 1.2.4 fix(bl31): resolve runtime console garbage in next stage fix(cadence): update console flush uart driver Merge "feat(morello): add cpuidle support" into integration fix(xilinx): dont reserve 1 more byte feat(morello): add cpuidle support refactor(arm): avoid setting HASH_PREREQUISITES for a build without ROT_KEY fix(cpus): workaround for Neoverse N2 erratum 2009478 feat(ethos-n): update npu error handling docs(maintainers): add maintainers for i.MX9 SoCs Signed-off-by: Siva Addepalli --- .../recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb index b8a57e66..77454e65 100644 --- a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb +++ b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb @@ -1,5 +1,5 @@ ATF_VERSION = "3.0" -SRCREV = "88b2d81345dfd84902aae586a743d00ac5df2f48" +SRCREV = "ad4e978774176a2b0dc6e94c7f63c7e90e031b1e" BRANCH = "xlnx_rebase_v3.0" LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031" -- cgit v1.2.3-54-g00ecf From a02d78056a2102c07b74122de59425c923ed1458 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 18 Oct 2023 12:52:57 +0530 Subject: aie-rt : Updated SRCREV for 2024.1_9163 driver: src: Fixed compilation warnings Signed-off-by: Siva Addepalli --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index e8e6a985..85597844 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "main-aie" -SRCREV ?= "77d4772e77f0560f1e9a9ff72320af8b4660a333" +SRCREV ?= "eb10dad9026790fcf698cf6262ceee41a0a7e637" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From 52dc87e5d1970ec86c3c92b591183eb3c4a04697 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 20 Oct 2023 12:52:53 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_8703 lib: sw_apps: freertos lwip: include "xparameters.h" scripts: pyesw: repo.py: pick the latest version esw: Rename the NON_YOCTO variable to YOCTO lib: sw_apps: Revise the template apps CMakeLists.txt link dependencies esw: Update the CMakeLists.txt to support yocto flow scripts: pyesw: create_example: Update the script to support the use case of having an example in a subfolder scripts: pyesw: enable ninja cmake generator by default for windows platform scripts: pyesw: create_bsp: Improve hardware meta-data generation xilpm:versal_net: add save and restore xpm_notifiers xilpm:versal_common: use Subsystems Id instead of pointer plm: versal_net: add hook to call XPmUpdate_RestoreAllNodes xilpm: versal_net: Add each Node to AllNodes array to track xilpm: versal_net: Add xpm_update xilpm: versal_net: Save ByteBuffer and its address xilpm: versal_net: Add xpm_update_data.h xilpm: versal: Add macro to mark restore region xilpm: versal_net: Revert support PLM update sw_services:xilsecure:versal_net: MISRA C Rule 8.13 for PMC sw_services:xilsecure:versal_net: MISRA C Rule 1.1 for PMC sw_services:xilsecure:versal_net: MISRA C Rule 8.8 for PMC sw_services:xilsecure:versal_net: MISRA C Rule 17.7 for PMC sw_services:xilsecure:versal_net: MISRA C Rule 12.1 for PMC sw_services:xilsecure:versal_net: MISRA C Rule 10.4 for PMC sw_services:xilsecure:versal_net: MISRA C Rule 10.3 for PMC sw_services: xilnvm: Check if all required eFUSEs are programmed before programming Decrypt only eFUSEs xilffs: Move Xilffs_GetLibVersion() to xilffs.h obsolete drivers components ycrcb2rgb, deinterlacer and rgb2ycrcb Signed-off-by: Siva Addepalli --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 761006d8..44dca75b 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -10,7 +10,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "19ade382dd3b8a89aa737d9a67ceb2d28c6ab1bc" -ESW_REV[2024.1] = "587a5592e807c1124034dfa733dced17bebf0c5c" +ESW_REV[2024.1] = "c62753a4278de3d5d9da8cfb4f3355b98ae17baf" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From a93f12dc4cb5e56238d605ce86ad1908b879f509 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 20 Oct 2023 12:53:26 +0530 Subject: aie-rt : Updated SRCREV for 2024.1_6287 adding aie system tests Signed-off-by: Siva Addepalli --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index 85597844..a91860c4 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "main-aie" -SRCREV ?= "eb10dad9026790fcf698cf6262ceee41a0a7e637" +SRCREV ?= "a030c8532ae21fb6510437044efb6484141edeb2" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From 60884254a0d4bdb85d1e8ae457256e93d92d95f0 Mon Sep 17 00:00:00 2001 From: Vishal Patel Date: Fri, 20 Oct 2023 11:03:18 -0700 Subject: freeipmi: Update SRCREV Upstream changelog: Update NEWS Use poll() instead of select() to avoid segfaults with high number of open fd. ipmi-sensors: fix help output typo configure.ac: 'inb' and `outb' may be defined as inline functions (ex. glibc 2.28 on debian buster (amd64)), so check with AC_CHECK_DECL instead of AC_CHECK_FUNCS . Due to `Fix build issue when inb/outb are not available on some systems' in 1.6.9 release, the previously working kcs driver was causing errors. configure.ac: Add define definition for cbrt in math library to config.h.in configure.ac: Add define definitions for exp10, exp2, log2 to config.h.in man/ipmi-oem.8.pre.in: Document support on Supermicro X9DRD Update NEWS man/Makefile.am: Fix make distcheck ipmi-config.8.pre.in: Add pointer to ipmi-config.conf(5) manpage so users know to look there. Update NEWS common/portability/freeipmi-portability.h: Fix portability of cbrt() redefinition. cube root is x^(1/3) not x^-3. doc: document issue with Vadatech VT811 libfreeipmi: add missing xilinx header to dist Update NEWS, version for release Update lib versions for release Update NEWS libipmimonitoring: handle units special case libfreeipmi: fix typo in fiid template field contrib/pet/petalert.pl: Fix output error message typo global: fix various typos in comments / docs man: Fix a bunch of typos doc: fix a number of typos Update NEWS ipmiseld: avoid double free ipmi-fru: fix compilation for non C99 compilation Update NEWS Update ChangeLog Add initial support for Xilinx OEM FRU records libfreeipmi: fix comment typo Update ChangeLog configure.ac: Use AC_USE_SYSTEM_EXTENSIONS instead of appending -D_GNU_SOURCE configure.ac: Fix detecting sighandler_t on glibc configure.ac: Fix -Wimplicit-function-declaration for printf Update ChangeLog add --disable-doc Document issue in Intel M50CYP Update NEWS Update ChangeLog with ipmi-sel date range options ipmi-sel: update manpage for new date format ipmi-sel: make --date-range more granular doc: fix typo in freeipmi-bugs-issues-and-workarounds.txt configure.ac: add extra build help / messages Update NEWS common/portability: fix portability issue on cygwin Signed-off-by: Vishal Patel Signed-off-by: Mark Hatle --- ...nitial-support-for-Xilinx-OEM-FRU-records.patch | 370 --------------------- ...u-fix-compilation-for-non-C99-compilation.patch | 29 -- .../recipes-support/freeipmi/freeipmi_1.6.10.bb | 4 +- 3 files changed, 1 insertion(+), 402 deletions(-) delete mode 100644 meta-xilinx-core/recipes-support/freeipmi/freeipmi/0001-Add-initial-support-for-Xilinx-OEM-FRU-records.patch delete mode 100644 meta-xilinx-core/recipes-support/freeipmi/freeipmi/0002-ipmi-fru-fix-compilation-for-non-C99-compilation.patch diff --git a/meta-xilinx-core/recipes-support/freeipmi/freeipmi/0001-Add-initial-support-for-Xilinx-OEM-FRU-records.patch b/meta-xilinx-core/recipes-support/freeipmi/freeipmi/0001-Add-initial-support-for-Xilinx-OEM-FRU-records.patch deleted file mode 100644 index c7d4aefd..00000000 --- a/meta-xilinx-core/recipes-support/freeipmi/freeipmi/0001-Add-initial-support-for-Xilinx-OEM-FRU-records.patch +++ /dev/null @@ -1,370 +0,0 @@ -From 1128691f6e2709b44eccafb0b303b07da55a814e Mon Sep 17 00:00:00 2001 -From: Christian Kohn -Date: Mon, 17 Oct 2022 19:28:22 -0700 -Subject: [PATCH] Add initial support for Xilinx OEM FRU records - -The supported Xilinx OEM FRU records are MAC_ID and FREE_FORM. This FRU OEM -extension parses these records and prints them with proper formatting. - -To use this feature, run the ipmi-fru command as follows: -$ sudo ./ipmi-fru --fru-file=/sys/devices/platform/axi/ff030000.i2c/i2c-1/1-0051/eeprom \ - --interpret-oem-data - -Note: The EEPROM address can vary between different platforms. This is just an - example. - -This feature has been tested with the Xilinx Kria KV260 and KR260 Starter Kits. - -Signed-off-by: Christian Kohn ---- - ipmi-fru/Makefile.am | 2 + - ipmi-fru/ipmi-fru-oem-xilinx.c | 171 ++++++++++++++++++ - ipmi-fru/ipmi-fru-oem-xilinx.h | 33 ++++ - ipmi-fru/ipmi-fru-output.c | 14 ++ - libfreeipmi/include/freeipmi/freeipmi.h.in | 1 + - .../oem/ipmi-fru-xilinx-oem-record-format.h | 45 +++++ - .../spec/ipmi-iana-enterprise-numbers-spec.h | 1 + - 7 files changed, 267 insertions(+) - create mode 100644 ipmi-fru/ipmi-fru-oem-xilinx.c - create mode 100644 ipmi-fru/ipmi-fru-oem-xilinx.h - create mode 100644 libfreeipmi/include/freeipmi/record-format/oem/ipmi-fru-xilinx-oem-record-format.h - -diff --git a/ipmi-fru/Makefile.am b/ipmi-fru/Makefile.am -index c92ba0e8c..c8545eede 100644 ---- a/ipmi-fru/Makefile.am -+++ b/ipmi-fru/Makefile.am -@@ -25,6 +25,8 @@ ipmi_fru_SOURCES = \ - ipmi-fru-argp.h \ - ipmi-fru-oem-wistron.c \ - ipmi-fru-oem-wistron.h \ -+ ipmi-fru-oem-xilinx.c \ -+ ipmi-fru-oem-xilinx.h \ - ipmi-fru-output.c \ - ipmi-fru-output.h - -diff --git a/ipmi-fru/ipmi-fru-oem-xilinx.c b/ipmi-fru/ipmi-fru-oem-xilinx.c -new file mode 100644 -index 000000000..87bb18f00 ---- /dev/null -+++ b/ipmi-fru/ipmi-fru-oem-xilinx.c -@@ -0,0 +1,171 @@ -+/* -+ * Copyright (C) 2022, Advanced Micro Devices, Inc. -+ * -+ * This program is free software: you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation, either version 3 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program. If not, see . -+ * -+ */ -+ -+#if HAVE_CONFIG_H -+#include "config.h" -+#endif /* HAVE_CONFIG_H */ -+ -+#include -+#include -+#if STDC_HEADERS -+#include -+#endif /* STDC_HEADERS */ -+#include -+ -+#include -+ -+#include "ipmi-fru_.h" -+#include "ipmi-fru-oem-xilinx.h" -+ -+#include "freeipmi-portability.h" -+ -+static char * -+_version_str (uint8_t version) -+{ -+ switch (version) -+ { -+ case IPMI_FRU_OEM_XILINX_MAC_ID_VERSION_BOARD: -+ return "Board"; -+ case IPMI_FRU_OEM_XILINX_MAC_ID_VERSION_SYSCTL: -+ return "System Controller"; -+ case IPMI_FRU_OEM_XILINX_MAC_ID_VERSION_MODULE: -+ return "Module"; -+ case IPMI_FRU_OEM_XILINX_MAC_ID_VERSION_DUT_MAC: -+ return "DUT - MAC"; -+ case IPMI_FRU_OEM_XILINX_MAC_ID_VERSION_DUT_ETHERCAT: -+ return "DUT - EtherCAT"; -+ default: -+ return ""; -+ } -+ -+ return (NULL); /* NOT REACHED */ -+} -+ -+int -+ipmi_fru_oem_xilinx_oem_record (ipmi_fru_state_data_t *state_data, -+ uint8_t record_type_id, -+ uint32_t manufacturer_id, -+ uint8_t *oem_data, -+ unsigned int oem_data_len) -+{ -+ assert (state_data); -+ assert (manufacturer_id == IPMI_IANA_ENTERPRISE_ID_XILINX); -+ assert (oem_data); -+ -+ /* The MAC_ID record type ID is 0xD2. The MAC ID record consists of a 1 byte -+ * version ID followed by one or more 6-byte MAC addresses. If the MAC ID -+ * version is set to "DUT - EtherCAT", a 4-byte EtherCAT ID is used instead of -+ * a 6-byte MAC address. -+ */ -+ if (record_type_id == IPMI_FRU_OEM_XILINX_MAC_ID && oem_data_len) -+ { -+ uint8_t version = oem_data[0]; -+ unsigned int len = oem_data_len - 1; -+ -+ pstdout_printf (state_data->pstate, -+ " FRU OEM MAC Version: %s (%xh)\n", -+ _version_str(version), -+ version); -+ -+ /* The MAC_ID record can hold multiple MAC addresses that are 6 bytes long -+ * each if version is set to 0x31. -+ */ -+ if ((version == IPMI_FRU_OEM_XILINX_MAC_ID_VERSION_BOARD || -+ version == IPMI_FRU_OEM_XILINX_MAC_ID_VERSION_SYSCTL || -+ version == IPMI_FRU_OEM_XILINX_MAC_ID_VERSION_MODULE || -+ version == IPMI_FRU_OEM_XILINX_MAC_ID_VERSION_DUT_MAC ) && -+ (len % 6) == 0) -+ { -+ unsigned int i, j, start, stop; -+ unsigned int mac_cnt = len / 6; -+ -+ for (j = 0; j < mac_cnt; j++) -+ { -+ pstdout_printf (state_data->pstate, " FRU OEM MAC ID %d: ", j); -+ -+ start = j*6 + 1; -+ stop = start + 5; -+ -+ for (i = start; i < stop; i++) -+ { -+ pstdout_printf (state_data->pstate, "%02x:", oem_data[i]); -+ } -+ -+ pstdout_printf (state_data->pstate, "%02x\n", oem_data[i]); -+ } -+ -+ return (1); -+ } -+ -+ /* The MAC_ID record holds one EtherCAT ID that is 4 bytes long if version -+ * is set to 0x32. The assigned EtherCAT ID for Xilinx is 0x0000056F. -+ */ -+ if (version == IPMI_FRU_OEM_XILINX_MAC_ID_VERSION_DUT_ETHERCAT && -+ len == 4) -+ { -+ pstdout_printf (state_data->pstate, " FRU OEM EtherCAT ID: 0x"); -+ -+ for (unsigned int i = 1; i < len+1; i++) -+ { -+ pstdout_printf (state_data->pstate, "%02X", oem_data[i]); -+ } -+ -+ pstdout_printf (state_data->pstate, "\n"); -+ -+ return (1); -+ } -+ } -+ -+ /* The free form data record type ID is 0xD3. It consists of one or more -+ * fields where each field is split into N byte identifier and M byte data -+ * followed by a 0x00 end of field delimiter. The below code parses the free -+ * form record and prints each field on a new line prefixed with 'FRU OEM '. -+ */ -+ if (record_type_id == IPMI_FRU_OEM_XILINX_FREE_FORM && oem_data_len) -+ { -+ unsigned int i; -+ unsigned int new_field = 1; -+ -+ for (i = 0; i < oem_data_len; i++) -+ { -+ /* 0x00 marks the end of the field */ -+ if (oem_data[i] == 0) -+ { -+ if (new_field == 0) -+ { -+ pstdout_printf (state_data->pstate, "\n"); -+ } -+ new_field = 1; -+ continue; -+ } -+ -+ /* Start of a new field */ -+ if (new_field == 1) -+ { -+ new_field = 0; -+ pstdout_printf (state_data->pstate, " FRU OEM "); -+ } -+ -+ pstdout_printf (state_data->pstate, "%c", oem_data[i]); -+ } -+ -+ return (1); -+ } -+ -+ return (0); -+} -diff --git a/ipmi-fru/ipmi-fru-oem-xilinx.h b/ipmi-fru/ipmi-fru-oem-xilinx.h -new file mode 100644 -index 000000000..2484cd515 ---- /dev/null -+++ b/ipmi-fru/ipmi-fru-oem-xilinx.h -@@ -0,0 +1,33 @@ -+/* -+ * Copyright (C) 2022, Advanced Micro Devices, Inc. -+ * -+ * This program is free software: you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation, either version 3 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program. If not, see . -+ * -+ */ -+ -+#ifndef IPMI_FRU_OEM_XILINX_H -+#define IPMI_FRU_OEM_XILINX_H -+ -+#include -+ -+#include "ipmi-fru_.h" -+ -+/* Returns 1 on interpretation, 0 if not, -1 on error */ -+int ipmi_fru_oem_xilinx_oem_record (ipmi_fru_state_data_t *state_data, -+ uint8_t record_type_id, -+ uint32_t manufacturer_id, -+ uint8_t *oem_data, -+ unsigned int oem_data_len); -+ -+#endif /* IPMI_FRU_OEM_XILINX_H */ -diff --git a/ipmi-fru/ipmi-fru-output.c b/ipmi-fru/ipmi-fru-output.c -index 845971018..d29c4470e 100644 ---- a/ipmi-fru/ipmi-fru-output.c -+++ b/ipmi-fru/ipmi-fru-output.c -@@ -51,6 +51,7 @@ - #include "ipmi-fru_.h" - #include "ipmi-fru-output.h" - #include "ipmi-fru-oem-wistron.h" -+#include "ipmi-fru-oem-xilinx.h" - #include "tool-util-common.h" - - #include "freeipmi-portability.h" -@@ -1201,6 +1202,19 @@ ipmi_fru_output_oem_record (ipmi_fru_state_data_t *state_data, - if (ret) - return (0); - } -+ -+ if (manufacturer_id == IPMI_IANA_ENTERPRISE_ID_XILINX) -+ { -+ if ((ret = ipmi_fru_oem_xilinx_oem_record (state_data, -+ record_type_id, -+ manufacturer_id, -+ oem_data, -+ oem_data_len)) < 0) -+ return (-1); -+ -+ if (ret) -+ return (0); -+ } - } - - if (oem_data_len) -diff --git a/libfreeipmi/include/freeipmi/freeipmi.h.in b/libfreeipmi/include/freeipmi/freeipmi.h.in -index a03178e97..fbd6749e9 100644 ---- a/libfreeipmi/include/freeipmi/freeipmi.h.in -+++ b/libfreeipmi/include/freeipmi/freeipmi.h.in -@@ -82,6 +82,7 @@ extern "C" { - #include - #include - #include -+#include - #include - #include - #include -diff --git a/libfreeipmi/include/freeipmi/record-format/oem/ipmi-fru-xilinx-oem-record-format.h b/libfreeipmi/include/freeipmi/record-format/oem/ipmi-fru-xilinx-oem-record-format.h -new file mode 100644 -index 000000000..434e2031a ---- /dev/null -+++ b/libfreeipmi/include/freeipmi/record-format/oem/ipmi-fru-xilinx-oem-record-format.h -@@ -0,0 +1,45 @@ -+/* -+ * Copyright (C) 2022, Advanced Micro Devices, Inc. -+ * -+ * This program is free software: you can redistribute it and/or modify -+ * it under the terms of the GNU General Public License as published by -+ * the Free Software Foundation, either version 3 of the License, or -+ * (at your option) any later version. -+ * -+ * This program is distributed in the hope that it will be useful, -+ * but WITHOUT ANY WARRANTY; without even the implied warranty of -+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -+ * GNU General Public License for more details. -+ * -+ * You should have received a copy of the GNU General Public License -+ * along with this program. If not, see . -+ * -+ */ -+ -+#ifndef IPMI_FRU_OEM_XILINX_RECORD_FORMAT_H -+#define IPMI_FRU_OEM_XILINX_RECORD_FORMAT_H -+ -+#ifdef __cplusplus -+extern "C" { -+#endif -+ -+#include -+ -+/* OEM multi-record IDs used by Xilinx */ -+#define IPMI_FRU_OEM_XILINX_THERMAL 0xD0 -+#define IPMI_FRU_OEM_XILINX_POWER 0xD1 -+#define IPMI_FRU_OEM_XILINX_MAC_ID 0xD2 -+#define IPMI_FRU_OEM_XILINX_FREE_FORM 0xD3 -+ -+/* OEM MAC ID versions used by Xilinx */ -+#define IPMI_FRU_OEM_XILINX_MAC_ID_VERSION_BOARD 0x01 -+#define IPMI_FRU_OEM_XILINX_MAC_ID_VERSION_SYSCTL 0x11 -+#define IPMI_FRU_OEM_XILINX_MAC_ID_VERSION_MODULE 0x21 -+#define IPMI_FRU_OEM_XILINX_MAC_ID_VERSION_DUT_MAC 0x31 -+#define IPMI_FRU_OEM_XILINX_MAC_ID_VERSION_DUT_ETHERCAT 0x32 -+ -+#ifdef __cplusplus -+} -+#endif -+ -+#endif /* IPMI_FRU_OEM_XILINX_RECORD_FORMAT_H */ -diff --git a/libfreeipmi/include/freeipmi/spec/ipmi-iana-enterprise-numbers-spec.h b/libfreeipmi/include/freeipmi/spec/ipmi-iana-enterprise-numbers-spec.h -index d286f33a4..4c24b5259 100644 ---- a/libfreeipmi/include/freeipmi/spec/ipmi-iana-enterprise-numbers-spec.h -+++ b/libfreeipmi/include/freeipmi/spec/ipmi-iana-enterprise-numbers-spec.h -@@ -29,6 +29,7 @@ extern "C" { - #define IPMI_IANA_ENTERPRISE_ID_SUN_MICROSYSTEMS 42 - #define IPMI_IANA_ENTERPRISE_ID_INTEL 343 - #define IPMI_IANA_ENTERPRISE_ID_DELL 674 -+#define IPMI_IANA_ENTERPRISE_ID_XILINX 4314 - #define IPMI_IANA_ENTERPRISE_ID_MAGNUM_TECHNOLOGIES 5593 - #define IPMI_IANA_ENTERPRISE_ID_QUANTA 7244 - #define IPMI_IANA_ENTERPRISE_ID_FUJITSU 10368 --- -2.17.1 - diff --git a/meta-xilinx-core/recipes-support/freeipmi/freeipmi/0002-ipmi-fru-fix-compilation-for-non-C99-compilation.patch b/meta-xilinx-core/recipes-support/freeipmi/freeipmi/0002-ipmi-fru-fix-compilation-for-non-C99-compilation.patch deleted file mode 100644 index c0f36405..00000000 --- a/meta-xilinx-core/recipes-support/freeipmi/freeipmi/0002-ipmi-fru-fix-compilation-for-non-C99-compilation.patch +++ /dev/null @@ -1,29 +0,0 @@ -From c578c999b7d9aabbd6e54b0310a609b8f96ae962 Mon Sep 17 00:00:00 2001 -From: Albert Chu -Date: Tue, 8 Nov 2022 16:33:39 -0800 -Subject: [PATCH] ipmi-fru: fix compilation for non C99 compilation - ---- - ipmi-fru/ipmi-fru-oem-xilinx.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/ipmi-fru/ipmi-fru-oem-xilinx.c b/ipmi-fru/ipmi-fru-oem-xilinx.c -index 87bb18f00..937aa7614 100644 ---- a/ipmi-fru/ipmi-fru-oem-xilinx.c -+++ b/ipmi-fru/ipmi-fru-oem-xilinx.c -@@ -118,9 +118,11 @@ ipmi_fru_oem_xilinx_oem_record (ipmi_fru_state_data_t *state_data, - if (version == IPMI_FRU_OEM_XILINX_MAC_ID_VERSION_DUT_ETHERCAT && - len == 4) - { -+ unsigned int i; -+ - pstdout_printf (state_data->pstate, " FRU OEM EtherCAT ID: 0x"); - -- for (unsigned int i = 1; i < len+1; i++) -+ for (i = 1; i < len+1; i++) - { - pstdout_printf (state_data->pstate, "%02X", oem_data[i]); - } --- -2.17.1 - diff --git a/meta-xilinx-core/recipes-support/freeipmi/freeipmi_1.6.10.bb b/meta-xilinx-core/recipes-support/freeipmi/freeipmi_1.6.10.bb index a9d60465..7beb0f5e 100644 --- a/meta-xilinx-core/recipes-support/freeipmi/freeipmi_1.6.10.bb +++ b/meta-xilinx-core/recipes-support/freeipmi/freeipmi_1.6.10.bb @@ -31,10 +31,8 @@ LIC_FILES_CHKSUM = " \ BRANCH ?= "freeipmi-1-6-0-stable" SRC_URI = " \ git://git.savannah.gnu.org/freeipmi.git;iprotocol=https;branch=${BRANCH} \ - file://0001-Add-initial-support-for-Xilinx-OEM-FRU-records.patch \ - file://0002-ipmi-fru-fix-compilation-for-non-C99-compilation.patch \ " -SRCREV ?= "1f7eea294c2967802019100b07cf1e44b3160a2b" +SRCREV ?= "816a69eb15a9034351381211d9cd15de81da10c7" S = "${WORKDIR}/git" -- cgit v1.2.3-54-g00ecf From 16bd61eebcb0bd06a4b93cffce2afa766a4e32ee Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Sat, 21 Oct 2023 12:45:48 +0530 Subject: arm-trusted-firmware : Updated SRCREV for 2024.1_8847 Merge changes from topic "xlnx_dtb_console" into integration Merge "feat(mt8188): add EMI MPU support for SCP and DSP" into integration Merge changes from topic "dcc-console" into integration Merge changes from topic "ecdsa_p384" into integration refactor(arm): remove ARM_ROTPK_KEY_LEN comparison fix(st): setting default KEY_SIZE docs(cert-create): add key size options for ecdsa feat(arm): ecdsa p384/p256 full key support feat(tbbr): update PK_DER_LEN for ECDSA P-384 keys feat(auth): ecdsa p384 key support feat(cert-create): ecdsa p384 key support feat(mt8188): add EMI MPU support for SCP and DSP feat(versal-net): retrieval of console information from dtb feat(versal): retrieval of console information from dtb refactor(xilinx): create generic function for clock retrieval feat(zynqmp): retrieval of console information from dtb fix(dcc): enable DCC also for crash console build(changelog): add new scope for DCC Signed-off-by: Siva Addepalli --- .../recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb index 77454e65..6bc3e623 100644 --- a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb +++ b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb @@ -1,5 +1,5 @@ ATF_VERSION = "3.0" -SRCREV = "ad4e978774176a2b0dc6e94c7f63c7e90e031b1e" +SRCREV = "f8363a8e2c1ac8aa7340030f199daa72dcc9126b" BRANCH = "xlnx_rebase_v3.0" LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031" -- cgit v1.2.3-54-g00ecf From 94b1fdcec416853cc5d465156e6ec0dfcdbd1ce0 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 24 Oct 2023 19:21:38 -1200 Subject: aie-rt : Updated SRCREV for 2024.1_9151 driver:src:Fixed a type in dma operation Signed-off-by: Siva Addepalli --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index a91860c4..f75f0168 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "main-aie" -SRCREV ?= "a030c8532ae21fb6510437044efb6484141edeb2" +SRCREV ?= "0c3fb27eb7e8d68571f6b42026f3337ddb601113" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From 9cfdd8ef90b087b05776e6f4e96df3d057ddaa30 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 25 Oct 2023 15:15:43 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_2731 xilskey: Added API to get version info for xilskey library xilsecure: Added API to get version info for keyunwrap feature xilplmi: Added API to get version info for xilplmi library xilocp: Added API to get version info for xilocp library fs-boot.*: adding STDOUT_BASEADRESSES for uart BSP: cortexr5: armclang: Fix stack initialization sw_services:xilloader: Fix compilation warning when PLM_EN_ADD_PPKS macro is enabled versal: Extend 5PPK support to new devices xilpm:versal_common: fix issue with XPmNotifier_Register tmr_manager: Remove the XTMR_Manager_InjectionTest API declaration cfupmc: Updated Overview for addtogroup for 2024.1 cframe: Updated Overview for addtogroup for 2024.1 dfeofdm: Support for FFT size 512 dfeofdm: Doxygen documenatation update Updated SDK release year and SDK release quarter scripts: pyesw: create_bsp: Copy the common cmake meta-data file to domain directory Updated for oboslete driver xilisf Signed-off-by: Siva Addepalli --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 1b3bb827..7aaa34b0 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -10,7 +10,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "c62753a4278de3d5d9da8cfb4f3355b98ae17baf" +ESW_REV[2024.1] = "c30e3bc9277e155789d2f28e883aeb12d6c1e194" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 2ad4f8acb33931780daa1f3bc8682526edf914eb Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 25 Oct 2023 15:11:29 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_1427 arm: dts: xilinx: Remove redundant is-dual and is-stacked DT properties Signed-off-by: Siva Addepalli --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index 89bd977d..e44adc53 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2023.01" UBRANCH = "master" -SRCREV = "2bb777cd7a00b3f64e05971272786b6be77bb830" +SRCREV = "5d4fba0c34ea35cd7e9a7af8f02232619f1e234f" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From 37e95a999144326974b507d23e9bee0286b71712 Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Wed, 25 Oct 2023 17:19:32 +0530 Subject: Updated Commit ID common_utils.py: Update check_tool xsct_flow.py: If XSCT is not available, install it common_utils.py: Add new GetBitbakeVars function common_utils.py: Refactor check_tool .gitignore: Ignore __pycache__ Signed-off-by: Siva Addepalli --- meta-xilinx-core/gen-machine-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf index 3a16c0f9..0348e837 160000 --- a/meta-xilinx-core/gen-machine-conf +++ b/meta-xilinx-core/gen-machine-conf @@ -1 +1 @@ -Subproject commit 3a16c0f9e3a84b1ae2b8b75bc459c0a81cd7f70b +Subproject commit 0348e83779402e647eb8023cac171062df5c1fba -- cgit v1.2.3-54-g00ecf From f03cf783e2e67063f44ae2593cee22069d94825c Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 25 Oct 2023 23:21:31 -1200 Subject: embeddedsw : Updated SRCREV for 2024.1_1335 xilpm: zynqmp: client: Remove bool pattern definition zynqmp_pmufw: Remove custom bool definition sw_services:xilloader:Sec Review Fixes Signed-off-by: Siva Addepalli --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 7aaa34b0..43a6adb0 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -10,7 +10,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "c30e3bc9277e155789d2f28e883aeb12d6c1e194" +ESW_REV[2024.1] = "0ec730944067d154a851afe83e840377a2b4a93a" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 3cac7c64e27fd83685af68a9aa5264b9bd03c30d Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 27 Oct 2023 16:58:49 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_8439 xilpm: versal_net: server: Add auto generated pin control files xilpm: versal_common: server: move common pinctrl functions --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 43a6adb0..42bce870 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -10,7 +10,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "0ec730944067d154a851afe83e840377a2b4a93a" +ESW_REV[2024.1] = "567486d3dd44a9c79f6200cbaf636ac6b5764033" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From dc0e4a9f29f13d615f8511f05c68838d58666f13 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 30 Oct 2023 16:17:38 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_8163 sw_services:xilnvm:Deprecated server mode for versalnet sw_services:xilpuf:Deprecated server mode for versalnet --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 42bce870..cafa9e25 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -10,7 +10,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "567486d3dd44a9c79f6200cbaf636ac6b5764033" +ESW_REV[2024.1] = "2722dd4fcefd7949b9f11bf9aa7bafa9e4894e8a" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 1cd2c7a71e9b2493a82290e58b795d6e54e49057 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 30 Oct 2023 16:13:07 +0530 Subject: qemu : Updated SRCREV for 2024.1_5459 xlnx-bbram: Switch to upstreamed model nvram/xlnx-bbram: Add key delivery to AES engine nvram/xlnx-bbram: Add settable property erase nvram/xlnx-bbram: Fix programming mode nvram/xlnx-bbram: xlnx-zynqmp: Kconfig: Exclude BBRAM from ZynqMP PMU block/xlnx-efuse: Temporary workaround to support upstream bbram fdt_generic_util: Add blockdev migration for bbram and efuse --- meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc index 6de3a010..fc257aac 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc @@ -1,3 +1,3 @@ XILINX_QEMU_VERSION = "v7.1.0" BRANCH = "master" -SRCREV = "23b643ba1683a47ef49447a45643fe2172d6f8ca" +SRCREV = "eb51431541e955fb4d3080e07695bdc0333c891d" -- cgit v1.2.3-54-g00ecf From e2b68ed682ded72d3880459de599c3f107e87118 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 30 Oct 2023 16:50:20 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_3843 arm64: versal-net: enable CONFIG_MMC_SDHCI_ADMA arm: xilinx: Add missing num-cs property to spi node spi: cadence_qspi: Remove unused code --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index e44adc53..c2605216 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2023.01" UBRANCH = "master" -SRCREV = "5d4fba0c34ea35cd7e9a7af8f02232619f1e234f" +SRCREV = "ae71f52f72015f3b892e4341627171aa237f6044" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From 2da48fed87e34867790a9b56822c683141311c8b Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 31 Oct 2023 14:36:36 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_5131 cmake: Findcommon: Include a common meta package for the Yocto flow xilskey: Update XilSkey_ZynqMpEfuseAccess doxygen xilpm: versal_net: Add CPM5N rail node ID --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index cafa9e25..be44149d 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -10,7 +10,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "2722dd4fcefd7949b9f11bf9aa7bafa9e4894e8a" +ESW_REV[2024.1] = "2cb906f0bf0b18571bc0887daf32d8428ee8c435" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 10bc687a69a180a05c9bc90eabfc44b5fd3d3576 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 31 Oct 2023 15:45:18 +0530 Subject: arm-trusted-firmware : Updated SRCREV for 2024.1_6455 Merge changes from topic "mb/cov-fix" into integration Merge changes from topic "gpt_updates" into integration Merge "feat(cpus): add support for Travis CPU" into integration Merge "fix(ti): align static device region addresses to reduce MMU table count" into integration Merge "feat(handoff): port BL31-BL33 interface to fw handoff framework" into integration refactor(arm): use gpt_partition_init feat(partition): add interface to init gpt refactor(partition): convert warn to verbose feat(partition): add support to use backup GPT header refactor(partition): get GPT header location from MBR feat(arm): add IO policy to use backup gpt header feat(tbbr): add image id for backup GPT feat(handoff): port BL31-BL33 interface to fw handoff framework Merge changes from topic "sm/err_errata" into integration feat(cpus): add support for Travis CPU fix(tbbr): guard defines under MBEDTLS_CONFIG_FILE refactor(tbbr): enforce compile-time error for invalid algorithm selection Merge "fix(arm): fix GIC macros for GICv4.1 support" into integration Merge "fix(spmd): fix FFA_VERSION forwarding" into integration fix(ti): align static device region addresses to reduce MMU table count Merge "fix(mpam): refine MPAM initialization and enablement process" into integration fix(arm): fix GIC macros for GICv4.1 support Merge "fix(build): convert tabs to spaces" into integration fix(mpam): refine MPAM initialization and enablement process fix(spmd): fix FFA_VERSION forwarding Merge "feat(mt8195): increase TZRAM" into integration Merge "feat(st): update STM32MP DT files" into integration Merge changes from topic "st_remove_shm" into integration Merge "fix(st): properly check LOADADDR" into integration Merge "fix(cpus): workaround for Cortex-A510 erratum 2080326" into integration fix(cpus): workaround for Cortex-A510 erratum 2080326 fix(cpus): fix the rev-var of Neoverse-V1 fix(errata-abi): update the Neoverse-N2 errata ABI struct fix(errata-abi): update the neoverse-N1 errata ABI struct fix(cpus): fix the rev-var of Cortex-X2 fix(errata-abi): update the Cortex-A78C errata ABI struct fix(cpus): update the rev-var for Cortex-A78AE fix(errata-abi): update the Cortex-A76 errata ABI struct fix(cpus): fix the rev-var for Cortex-A710 Merge changes Ia66dd232,Ie0ddbe0b,Idd191614 into integration Merge changes from topic "gcc_linker_aarch32" into integration Merge "fix(cert-create): fix key loading logic" into integration fix(build): convert tabs to spaces fix(st): properly check LOADADDR Merge changes from topic "mp/test_espi" into integration Merge "fix(build): pass parameters through response files" into integration Merge "docs(maintainers): remove Jorge Ramirez-Ortiz from rcar3 maintainers" into integration feat(fvp): new SiP call to set an interrupt pending refactor(arm): allow platform specific SiP support docs(stm32mp15): mark STM32MP15_OPTEE_RSV_SHM deprecated feat(stm32mp15): disable OP-TEE shared memory fix(build): pass parameters through response files fix(cert-create): fix key loading logic Merge "docs: add code-owners for Firmare Handoff Library" into integration feat(st): update STM32MP DT files docs: add code-owners for Firmare Handoff Library docs(maintainers): remove Jorge Ramirez-Ortiz from rcar3 maintainers fix(rcar3-drivers): update DDR setting feat(st): support gcc as linker fix(build): allow gcc linker on Aarch32 platforms fix(rcar3): fix CPG register code comment fix(rcar3): update Draak and Eagle board IDs feat(mt8195): increase TZRAM --- .../recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb index 6bc3e623..08ec404f 100644 --- a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb +++ b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb @@ -1,5 +1,5 @@ ATF_VERSION = "3.0" -SRCREV = "f8363a8e2c1ac8aa7340030f199daa72dcc9126b" +SRCREV = "ed2d256a68c44bdcde54db66382854c4e191b9f1" BRANCH = "xlnx_rebase_v3.0" LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031" -- cgit v1.2.3-54-g00ecf From 106fe79d8b10d8d94e92f0a8a35654cd5d28a6da Mon Sep 17 00:00:00 2001 From: saumya garg Date: Wed, 18 Oct 2023 15:13:17 +0530 Subject: xrt, zocl: Update commit id Changelog: Update release version for 2024.1 (#7744) Implementation of AIE Debug Plugin for windows devices (#7725) [CR-1174259]: xrtSyncBOAIE suuport in PCIE sw_emu driver (#7740) change power mode names (#7739) removing dead code per coverity (#7738) Extend xrt::ext::bo with missing constructors (#7737) add reference to pcidrv and pcidev (#7736) fix for AIE1 status (#7734) Signed-off-by: saumya garg Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-xrt/xrt/xrt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc index a3d04402..31daed99 100644 --- a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc @@ -3,7 +3,7 @@ BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != ' SRC_URI = "${REPO};${BRANCHARG};name=xrt" BRANCH= "master" -SRCREV_xrt = "ca4a49bdf51ef441e190cc922e46aeaaacd36ff9" +SRCREV_xrt = "d912969076286f61805921f9c64493322085e458" PV = "202320.2.16.0" SRC_URI += "git://github.com/Xilinx/dma_ip_drivers.git;branch=master;name=dma_ip_drivers;destsuffix=git/src/runtime_src/core/pcie/driver/linux/xocl/lib/libqdma;protocol=https" -- cgit v1.2.3-54-g00ecf From 4539ea952092c96dd7c8dece1524a93c340920d9 Mon Sep 17 00:00:00 2001 From: Appana Durga Kedareswara rao Date: Wed, 18 Oct 2023 15:54:07 +0530 Subject: meta-xilinx-standalone-experimental: Update recipes as per unified embeddedsw sources In the unified repo few driver recipes are depends on xparamters.h file so move the xparameters.h generation to xilstandalone recipe and update other recipes as per latest sources. Signed-off-by: Appana Durga Kedareswara rao Signed-off-by: Mark Hatle --- meta-xilinx-standalone-experimental/classes/esw.bbclass | 5 +++-- .../classes/esw_examples.bbclass | 1 + .../recipes-drivers/clockps_git.bb | 3 +++ .../recipes-drivers/common_git.bb | 6 ++++-- .../recipes-libraries/libxil_git.bb | 10 +++++----- .../recipes-libraries/xilplmi_git.bb | 2 +- .../recipes-libraries/xilsecure_git.bb | 4 ++++ .../recipes-libraries/xilstandalone_git.bb | 3 +++ 8 files changed, 24 insertions(+), 10 deletions(-) diff --git a/meta-xilinx-standalone-experimental/classes/esw.bbclass b/meta-xilinx-standalone-experimental/classes/esw.bbclass index febdebad..a597a81c 100644 --- a/meta-xilinx-standalone-experimental/classes/esw.bbclass +++ b/meta-xilinx-standalone-experimental/classes/esw.bbclass @@ -80,11 +80,11 @@ cmake_do_generate_toolchain_file:append() { # set( CMAKE_SYSTEM_NAME `echo elf | sed -e 's/^./\u&/' -e 's/^\(Linux\).*/\1/'` ) set( CMAKE_SYSTEM_NAME "${XLNX_CMAKE_SYSTEM_NAME}" ) set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${S}/cmake) - set( CMAKE_LIBRARY_PATH ${CMAKE_INSTALL_LIBDIR}) + set( CMAKE_LIBRARY_PATH ${B}) if ("${XLNX_CMAKE_PROCESSOR}" STREQUAL "plm_microblaze") set( CMAKE_BUILD_TYPE Release) endif() - add_definitions( "${XLNX_CMAKE_BSP_VARS}" ) + add_definitions( "${XLNX_CMAKE_BSP_VARS} -DSDT" ) EOF } @@ -96,6 +96,7 @@ do_install() { } CFLAGS:append = " ${ESW_CFLAGS}" +EXTRA_OECMAKE += "-DYOCTO=ON" # We need to find the license file, which vaires depending on the component # recurse a maximum of x times, could be fancier but it gets complicated since diff --git a/meta-xilinx-standalone-experimental/classes/esw_examples.bbclass b/meta-xilinx-standalone-experimental/classes/esw_examples.bbclass index 43e78191..9a94f3cd 100644 --- a/meta-xilinx-standalone-experimental/classes/esw_examples.bbclass +++ b/meta-xilinx-standalone-experimental/classes/esw_examples.bbclass @@ -7,6 +7,7 @@ do_configure:prepend() { cd ${S} lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ + cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files ) } diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/clockps_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/clockps_git.bb index 4bddb2c0..3a464480 100644 --- a/meta-xilinx-standalone-experimental/recipes-drivers/clockps_git.bb +++ b/meta-xilinx-standalone-experimental/recipes-drivers/clockps_git.bb @@ -8,3 +8,6 @@ DEPENDS += "xilstandalone " ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/clockps/src/" ESW_COMPONENT_NAME = "libclockps.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/common_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/common_git.bb index 541ff225..40d2a1ae 100644 --- a/meta-xilinx-standalone-experimental/recipes-drivers/common_git.bb +++ b/meta-xilinx-standalone-experimental/recipes-drivers/common_git.bb @@ -13,11 +13,13 @@ PACKAGECONFIG[clockps] = "${RECIPE_SYSROOT}/usr/lib/libclockps.a,,clockps,," PACKAGECONFIG[scugic] = "${RECIPE_SYSROOT}/usr/lib/libscugic.a,,scugic,," PACKAGECONFIG[intc] = "${RECIPE_SYSROOT}/usr/lib/libintc.a,,intc,," -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/common/src/" +ESW_COMPONENT_SRC = "/lib/bsp/standalone/src/common/intr/" ESW_COMPONENT_NAME = "libcommon.a" do_configure:prepend() { LOPPER_DTC_FLAGS="-b 0 -@" lopper ${DTS_FILE} -- baremetalconfig_xlnx.py ${ESW_MACHINE} ${S}/XilinxProcessorIPLib/drivers/intc/src/ LOPPER_DTC_FLAGS="-b 0 -@" lopper ${DTS_FILE} -- baremetalconfig_xlnx.py ${ESW_MACHINE} ${S}/XilinxProcessorIPLib/drivers/scugic/src/ - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ + if [ -f *.cmake ]; then + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ + fi } diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/libxil_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/libxil_git.bb index 2ec1d6cd..8f33c848 100644 --- a/meta-xilinx-standalone-experimental/recipes-libraries/libxil_git.bb +++ b/meta-xilinx-standalone-experimental/recipes-libraries/libxil_git.bb @@ -28,11 +28,6 @@ DEPENDS += "xilstandalone " REQUIRED_MACHINE_FEATURES = "${MACHINE_FEATURES}" PACKAGECONFIG ?= "${MACHINE_FEATURES}" -do_configure:prepend() { - LOPPER_DTC_FLAGS="-b 0 -@" lopper ${DTS_FILE} -- baremetal_xparameters_xlnx.py ${ESW_MACHINE} ${S} - install -m 0755 xparameters.h ${S}/${ESW_COMPONENT_SRC}/ -} - do_compile() { # Combines the .a archives produced by all of the dependent items cd ${RECIPE_SYSROOT}/usr/lib/ @@ -48,3 +43,8 @@ do_compile() { ${AR} -M Date: Thu, 19 Oct 2023 18:51:10 -0500 Subject: meta-xilinx-standalone-experimental: Rename _git to _2024.1 The xlnx-embeddedsw class chooses the correct source based on the PV. Update the PV, as the code is now integrated. Signed-off-by: Mark Hatle --- .../empty-application/empty-application_2024.1.bb | 45 +++++++++++++++ .../empty-application/empty-application_git.bb | 45 --------------- .../freertos-hello-world_2024.1.bb | 39 +++++++++++++ .../freertos-hello-world_git.bb | 39 ------------- .../freertos-lwip-echo-server_2024.1.bb | 48 ++++++++++++++++ .../freertos-lwip-echo-server_git.bb | 48 ---------------- .../freertos-lwip-tcp-perf-client_2024.1.bb | 48 ++++++++++++++++ .../freertos-lwip-tcp-perf-client_git.bb | 48 ---------------- .../freertos-lwip-tcp-perf-server_2024.1.bb | 48 ++++++++++++++++ .../freertos-lwip-tcp-perf-server_git.bb | 48 ---------------- .../freertos-lwip-udp-perf-client_2024.1.bb | 48 ++++++++++++++++ .../freertos-lwip-udp-perf-client_git.bb | 48 ---------------- .../freertos-lwip-udp-perf-server_2024.1.bb | 48 ++++++++++++++++ .../freertos-lwip-udp-perf-server_git.bb | 48 ---------------- .../hello-world/hello-world_2024.1.bb | 44 +++++++++++++++ .../hello-world/hello-world_git.bb | 44 --------------- .../lwip-echo-server/lwip-echo-server_2024.1.bb | 48 ++++++++++++++++ .../lwip-echo-server/lwip-echo-server_git.bb | 48 ---------------- .../lwip-tcp-perf-client_2024.1.bb | 48 ++++++++++++++++ .../lwip-tcp-perf-client_git.bb | 48 ---------------- .../lwip-tcp-perf-server_2024.1.bb | 48 ++++++++++++++++ .../lwip-tcp-perf-server_git.bb | 48 ---------------- .../lwip-udp-perf-client_2024.1.bb | 48 ++++++++++++++++ .../lwip-udp-perf-client_git.bb | 48 ---------------- .../lwip-udp-perf-server_2024.1.bb | 48 ++++++++++++++++ .../lwip-udp-perf-server_git.bb | 48 ---------------- .../memory-tests/memory-tests_2024.1.bb | 41 ++++++++++++++ .../memory-tests/memory-tests_git.bb | 41 -------------- .../peripheral-tests/peripheral-tests_2024.1.bb | 62 ++++++++++++++++++++ .../peripheral-tests/peripheral-tests_git.bb | 62 -------------------- .../recipes-bsp/embeddedsw/esw-conf_2024.1.bb | 34 +++++++++++ .../recipes-bsp/embeddedsw/esw-conf_git.bb | 34 ----------- .../embeddedsw/fsbl-firmware_2024.1.bbappend | 66 ++++++++++++++++++++++ .../embeddedsw/fsbl-firmware_git.bbappend | 66 ---------------------- .../embeddedsw/plm-firmware_2024.1.bbappend | 28 +++++++++ .../embeddedsw/plm-firmware_git.bbappend | 28 --------- .../embeddedsw/pmu-firmware_2024.1.bbappend | 29 ++++++++++ .../embeddedsw/pmu-firmware_git.bbappend | 29 ---------- .../embeddedsw/psm-firmware_2024.1.bbappend | 28 +++++++++ .../embeddedsw/psm-firmware_git.bbappend | 28 --------- .../recipes-drivers/avbuf_2024.1.bb | 10 ++++ .../recipes-drivers/avbuf_git.bb | 10 ---- .../recipes-drivers/axicdma-example_2024.1.bb | 5 ++ .../recipes-drivers/axicdma-example_git.bb | 5 -- .../recipes-drivers/axicdma_2024.1.bb | 13 +++++ .../recipes-drivers/axicdma_git.bb | 13 ----- .../recipes-drivers/axidma-example_2024.1.bb | 5 ++ .../recipes-drivers/axidma-example_git.bb | 5 -- .../recipes-drivers/axidma_2024.1.bb | 13 +++++ .../recipes-drivers/axidma_git.bb | 13 ----- .../recipes-drivers/axiethernet-example_2024.1.bb | 5 ++ .../recipes-drivers/axiethernet-example_git.bb | 5 -- .../recipes-drivers/axiethernet_2024.1.bb | 13 +++++ .../recipes-drivers/axiethernet_git.bb | 13 ----- .../recipes-drivers/axipmon-example_2024.1.bb | 5 ++ .../recipes-drivers/axipmon-example_git.bb | 5 -- .../recipes-drivers/axipmon_2024.1.bb | 13 +++++ .../recipes-drivers/axipmon_git.bb | 13 ----- .../recipes-drivers/axis-switch_2024.1.bb | 13 +++++ .../recipes-drivers/axis-switch_git.bb | 13 ----- .../recipes-drivers/axivdma-example_2024.1.bb | 5 ++ .../recipes-drivers/axivdma-example_git.bb | 5 -- .../recipes-drivers/axivdma_2024.1.bb | 13 +++++ .../recipes-drivers/axivdma_git.bb | 13 ----- .../recipes-drivers/bram-example_2024.1.bb | 5 ++ .../recipes-drivers/bram-example_git.bb | 5 -- .../recipes-drivers/bram_2024.1.bb | 13 +++++ .../recipes-drivers/bram_git.bb | 13 ----- .../recipes-drivers/can-example_2024.1.bb | 5 ++ .../recipes-drivers/can-example_git.bb | 5 -- .../recipes-drivers/can_2024.1.bb | 13 +++++ .../recipes-drivers/can_git.bb | 13 ----- .../recipes-drivers/canfd-example_2024.1.bb | 5 ++ .../recipes-drivers/canfd-example_git.bb | 5 -- .../recipes-drivers/canfd_2024.1.bb | 13 +++++ .../recipes-drivers/canfd_git.bb | 13 ----- .../recipes-drivers/canps-example_2024.1.bb | 5 ++ .../recipes-drivers/canps-example_git.bb | 5 -- .../recipes-drivers/canps_2024.1.bb | 13 +++++ .../recipes-drivers/canps_git.bb | 13 ----- .../recipes-drivers/cframe_2024.1.bb | 13 +++++ .../recipes-drivers/cframe_git.bb | 13 ----- .../recipes-drivers/cfupmc_2024.1.bb | 13 +++++ .../recipes-drivers/cfupmc_git.bb | 13 ----- .../recipes-drivers/clk-wiz_2024.1.bb | 13 +++++ .../recipes-drivers/clk-wiz_git.bb | 13 ----- .../recipes-drivers/clockps-example_2024.1.bb | 40 +++++++++++++ .../recipes-drivers/clockps-example_git.bb | 40 ------------- .../recipes-drivers/clockps_2024.1.bb | 13 +++++ .../recipes-drivers/clockps_git.bb | 13 ----- .../recipes-drivers/common_2024.1.bb | 25 ++++++++ .../recipes-drivers/common_git.bb | 25 -------- .../recipes-drivers/coresightps-dcc_2024.1.bb | 13 +++++ .../recipes-drivers/coresightps-dcc_git.bb | 13 ----- .../recipes-drivers/csudma-example_2024.1.bb | 5 ++ .../recipes-drivers/csudma-example_git.bb | 5 -- .../recipes-drivers/csudma_2024.1.bb | 13 +++++ .../recipes-drivers/csudma_git.bb | 13 ----- .../recipes-drivers/ddrcpsu_2024.1.bb | 13 +++++ .../recipes-drivers/ddrcpsu_git.bb | 13 ----- .../recipes-drivers/devcfg-example_2024.1.bb | 5 ++ .../recipes-drivers/devcfg-example_git.bb | 5 -- .../recipes-drivers/devcfg_2024.1.bb | 13 +++++ .../recipes-drivers/devcfg_git.bb | 13 ----- .../recipes-drivers/dfxasm-example_2024.1.bb | 5 ++ .../recipes-drivers/dfxasm-example_git.bb | 5 -- .../recipes-drivers/dfxasm_2024.1.bb | 13 +++++ .../recipes-drivers/dfxasm_git.bb | 13 ----- .../recipes-drivers/dmaps-example_2024.1.bb | 5 ++ .../recipes-drivers/dmaps-example_git.bb | 5 -- .../recipes-drivers/dmaps_2024.1.bb | 18 ++++++ .../recipes-drivers/dmaps_git.bb | 18 ------ .../recipes-drivers/dpdma_2024.1.bb | 13 +++++ .../recipes-drivers/dpdma_git.bb | 13 ----- .../recipes-drivers/dppsu_2024.1.bb | 13 +++++ .../recipes-drivers/dppsu_git.bb | 13 ----- .../recipes-drivers/emaclite-example_2024.1.bb | 5 ++ .../recipes-drivers/emaclite-example_git.bb | 5 -- .../recipes-drivers/emaclite_2024.1.bb | 13 +++++ .../recipes-drivers/emaclite_git.bb | 13 ----- .../recipes-drivers/emacps-example_2024.1.bb | 5 ++ .../recipes-drivers/emacps-example_git.bb | 5 -- .../recipes-drivers/emacps_2024.1.bb | 13 +++++ .../recipes-drivers/emacps_git.bb | 13 ----- .../recipes-drivers/gpio-example_2024.1.bb | 5 ++ .../recipes-drivers/gpio-example_git.bb | 5 -- .../recipes-drivers/gpio_2024.1.bb | 13 +++++ .../recipes-drivers/gpio_git.bb | 13 ----- .../recipes-drivers/gpiops-example_2024.1.bb | 5 ++ .../recipes-drivers/gpiops-example_git.bb | 5 -- .../recipes-drivers/gpiops_2024.1.bb | 13 +++++ .../recipes-drivers/gpiops_git.bb | 13 ----- .../recipes-drivers/iic-example_2024.1.bb | 5 ++ .../recipes-drivers/iic-example_git.bb | 5 -- .../recipes-drivers/iic_2024.1.bb | 13 +++++ .../recipes-drivers/iic_git.bb | 13 ----- .../recipes-drivers/iicps-example_2024.1.bb | 5 ++ .../recipes-drivers/iicps-example_git.bb | 5 -- .../recipes-drivers/iicps_2024.1.bb | 13 +++++ .../recipes-drivers/iicps_git.bb | 13 ----- .../recipes-drivers/intc-example_2024.1.bb | 5 ++ .../recipes-drivers/intc-example_git.bb | 5 -- .../recipes-drivers/intc_2024.1.bb | 13 +++++ .../recipes-drivers/intc_git.bb | 13 ----- .../recipes-drivers/iomodule_2024.1.bb | 13 +++++ .../recipes-drivers/iomodule_git.bb | 13 ----- .../recipes-drivers/ipipsu-example_2024.1.bb | 5 ++ .../recipes-drivers/ipipsu-example_git.bb | 5 -- .../recipes-drivers/ipipsu_2024.1.bb | 13 +++++ .../recipes-drivers/ipipsu_git.bb | 13 ----- .../recipes-drivers/llfifo-example_2024.1.bb | 5 ++ .../recipes-drivers/llfifo-example_git.bb | 5 -- .../recipes-drivers/llfifo_2024.1.bb | 13 +++++ .../recipes-drivers/llfifo_git.bb | 13 ----- .../recipes-drivers/mbox-example_2024.1.bb | 5 ++ .../recipes-drivers/mbox-example_git.bb | 5 -- .../recipes-drivers/mbox_2024.1.bb | 13 +++++ .../recipes-drivers/mbox_git.bb | 13 ----- .../recipes-drivers/mcdma-example_2024.1.bb | 5 ++ .../recipes-drivers/mcdma-example_git.bb | 5 -- .../recipes-drivers/mcdma_2024.1.bb | 13 +++++ .../recipes-drivers/mcdma_git.bb | 13 ----- .../recipes-drivers/mutex-example_2024.1.bb | 5 ++ .../recipes-drivers/mutex-example_git.bb | 5 -- .../recipes-drivers/mutex_2024.1.bb | 13 +++++ .../recipes-drivers/mutex_git.bb | 13 ----- .../recipes-drivers/nandpsu-example_2024.1.bb | 5 ++ .../recipes-drivers/nandpsu-example_git.bb | 5 -- .../recipes-drivers/nandpsu_2024.1.bb | 13 +++++ .../recipes-drivers/nandpsu_git.bb | 13 ----- .../recipes-drivers/ospipsv-example_2024.1.bb | 5 ++ .../recipes-drivers/ospipsv-example_git.bb | 5 -- .../recipes-drivers/ospipsv_2024.1.bb | 19 +++++++ .../recipes-drivers/ospipsv_git.bb | 19 ------- .../recipes-drivers/pciepsu-example_2024.1.bb | 5 ++ .../recipes-drivers/pciepsu-example_git.bb | 5 -- .../recipes-drivers/pciepsu_2024.1.bb | 13 +++++ .../recipes-drivers/pciepsu_git.bb | 13 ----- .../recipes-drivers/qspips-example_2024.1.bb | 5 ++ .../recipes-drivers/qspips-example_git.bb | 5 -- .../recipes-drivers/qspips_2024.1.bb | 13 +++++ .../recipes-drivers/qspips_git.bb | 13 ----- .../recipes-drivers/qspipsu-example_2024.1.bb | 5 ++ .../recipes-drivers/qspipsu-example_git.bb | 5 -- .../recipes-drivers/qspipsu_2024.1.bb | 13 +++++ .../recipes-drivers/qspipsu_git.bb | 13 ----- .../recipes-drivers/resetps-example_2024.1.bb | 5 ++ .../recipes-drivers/resetps-example_git.bb | 5 -- .../recipes-drivers/resetps_2024.1.bb | 13 +++++ .../recipes-drivers/resetps_git.bb | 13 ----- .../recipes-drivers/rtcpsu-example_2024.1.bb | 5 ++ .../recipes-drivers/rtcpsu-example_git.bb | 5 -- .../recipes-drivers/rtcpsu_2024.1.bb | 13 +++++ .../recipes-drivers/rtcpsu_git.bb | 13 ----- .../recipes-drivers/scugic-example_2024.1.bb | 5 ++ .../recipes-drivers/scugic-example_git.bb | 5 -- .../recipes-drivers/scugic_2024.1.bb | 13 +++++ .../recipes-drivers/scugic_git.bb | 13 ----- .../recipes-drivers/sdps-example_2024.1.bb | 5 ++ .../recipes-drivers/sdps-example_git.bb | 5 -- .../recipes-drivers/sdps_2024.1.bb | 13 +++++ .../recipes-drivers/sdps_git.bb | 13 ----- .../recipes-drivers/spips-example_2024.1.bb | 5 ++ .../recipes-drivers/spips-example_git.bb | 5 -- .../recipes-drivers/spips_2024.1.bb | 13 +++++ .../recipes-drivers/spips_git.bb | 13 ----- .../recipes-drivers/sysmon-example_2024.1.bb | 5 ++ .../recipes-drivers/sysmon-example_git.bb | 5 -- .../recipes-drivers/sysmon_2024.1.bb | 13 +++++ .../recipes-drivers/sysmon_git.bb | 13 ----- .../recipes-drivers/sysmonpsu-example_2024.1.bb | 5 ++ .../recipes-drivers/sysmonpsu-example_git.bb | 5 -- .../recipes-drivers/sysmonpsu_2024.1.bb | 13 +++++ .../recipes-drivers/sysmonpsu_git.bb | 13 ----- .../recipes-drivers/sysmonpsv-example_2024.1.bb | 5 ++ .../recipes-drivers/sysmonpsv-example_git.bb | 5 -- .../recipes-drivers/sysmonpsv_2024.1.bb | 13 +++++ .../recipes-drivers/sysmonpsv_git.bb | 13 ----- .../recipes-drivers/tmr-inject_2024.1.bb | 13 +++++ .../recipes-drivers/tmr-inject_git.bb | 13 ----- .../recipes-drivers/tmr-manager_2024.1.bb | 13 +++++ .../recipes-drivers/tmr-manager_git.bb | 13 ----- .../recipes-drivers/tmrctr-example_2024.1.bb | 5 ++ .../recipes-drivers/tmrctr-example_git.bb | 5 -- .../recipes-drivers/tmrctr_2024.1.bb | 13 +++++ .../recipes-drivers/tmrctr_git.bb | 13 ----- .../recipes-drivers/trafgen-example_2024.1.bb | 5 ++ .../recipes-drivers/trafgen-example_git.bb | 5 -- .../recipes-drivers/trafgen_2024.1.bb | 13 +++++ .../recipes-drivers/trafgen_git.bb | 13 ----- .../recipes-drivers/ttcps-example_2024.1.bb | 5 ++ .../recipes-drivers/ttcps-example_git.bb | 5 -- .../recipes-drivers/ttcps_2024.1.bb | 13 +++++ .../recipes-drivers/ttcps_git.bb | 13 ----- .../recipes-drivers/uartlite-example_2024.1.bb | 5 ++ .../recipes-drivers/uartlite-example_git.bb | 5 -- .../recipes-drivers/uartlite_2024.1.bb | 16 ++++++ .../recipes-drivers/uartlite_git.bb | 16 ------ .../recipes-drivers/uartns550-example_2024.1.bb | 6 ++ .../recipes-drivers/uartns550-example_git.bb | 6 -- .../recipes-drivers/uartns550_2024.1.bb | 16 ++++++ .../recipes-drivers/uartns550_git.bb | 16 ------ .../recipes-drivers/uartps-example_2024.1.bb | 5 ++ .../recipes-drivers/uartps-example_git.bb | 5 -- .../recipes-drivers/uartps_2024.1.bb | 16 ++++++ .../recipes-drivers/uartps_git.bb | 16 ------ .../recipes-drivers/uartpsv-example_2024.1.bb | 6 ++ .../recipes-drivers/uartpsv-example_git.bb | 6 -- .../recipes-drivers/uartpsv_2024.1.bb | 16 ++++++ .../recipes-drivers/uartpsv_git.bb | 16 ------ .../recipes-drivers/usb-example_2024.1.bb | 5 ++ .../recipes-drivers/usb-example_git.bb | 5 -- .../recipes-drivers/usb_2024.1.bb | 13 +++++ .../recipes-drivers/usb_git.bb | 13 ----- .../recipes-drivers/usbpsu-example_2024.1.bb | 5 ++ .../recipes-drivers/usbpsu-example_git.bb | 5 -- .../recipes-drivers/usbpsu_2024.1.bb | 13 +++++ .../recipes-drivers/usbpsu_git.bb | 13 ----- .../recipes-drivers/v-csc_2024.1.bb | 13 +++++ .../recipes-drivers/v-csc_git.bb | 13 ----- .../recipes-drivers/v-deinterlacer_2024.1.bb | 13 +++++ .../recipes-drivers/v-deinterlacer_git.bb | 13 ----- .../recipes-drivers/v-demosaic-example_2024.1.bb | 5 ++ .../recipes-drivers/v-demosaic-example_git.bb | 5 -- .../recipes-drivers/v-demosaic_2024.1.bb | 13 +++++ .../recipes-drivers/v-demosaic_git.bb | 13 ----- .../recipes-drivers/v-frmbuf-rd-example_2024.1.bb | 5 ++ .../recipes-drivers/v-frmbuf-rd-example_git.bb | 5 -- .../recipes-drivers/v-frmbuf-rd_2024.1.bb | 16 ++++++ .../recipes-drivers/v-frmbuf-rd_git.bb | 16 ------ .../recipes-drivers/v-frmbuf-wr-example_2024.1.bb | 5 ++ .../recipes-drivers/v-frmbuf-wr-example_git.bb | 5 -- .../recipes-drivers/v-frmbuf-wr_2024.1.bb | 16 ++++++ .../recipes-drivers/v-frmbuf-wr_git.bb | 16 ------ .../recipes-drivers/v-gamma-lut-example_2024.1.bb | 5 ++ .../recipes-drivers/v-gamma-lut-example_git.bb | 5 -- .../recipes-drivers/v-gamma-lut_2024.1.bb | 13 +++++ .../recipes-drivers/v-gamma-lut_git.bb | 13 ----- .../recipes-drivers/v-hcresampler_2024.1.bb | 13 +++++ .../recipes-drivers/v-hcresampler_git.bb | 13 ----- .../recipes-drivers/v-hscaler_2024.1.bb | 13 +++++ .../recipes-drivers/v-hscaler_git.bb | 13 ----- .../recipes-drivers/v-letterbox_2024.1.bb | 13 +++++ .../recipes-drivers/v-letterbox_git.bb | 13 ----- .../recipes-drivers/v-mix-example_2024.1.bb | 5 ++ .../recipes-drivers/v-mix-example_git.bb | 5 -- .../recipes-drivers/v-mix_2024.1.bb | 13 +++++ .../recipes-drivers/v-mix_git.bb | 13 ----- .../v-multi-scaler-example_2024.1.bb | 5 ++ .../recipes-drivers/v-multi-scaler-example_git.bb | 5 -- .../recipes-drivers/v-multi-scaler_2024.1.bb | 13 +++++ .../recipes-drivers/v-multi-scaler_git.bb | 13 ----- .../v-scenechange-example_2024.1.bb | 5 ++ .../recipes-drivers/v-scenechange-example_git.bb | 5 -- .../recipes-drivers/v-scenechange_2024.1.bb | 13 +++++ .../recipes-drivers/v-scenechange_git.bb | 13 ----- .../recipes-drivers/v-tpg_2024.1.bb | 13 +++++ .../recipes-drivers/v-tpg_git.bb | 13 ----- .../recipes-drivers/v-vcresampler_2024.1.bb | 13 +++++ .../recipes-drivers/v-vcresampler_git.bb | 13 ----- .../recipes-drivers/v-vscaler_2024.1.bb | 13 +++++ .../recipes-drivers/v-vscaler_git.bb | 13 ----- .../recipes-drivers/video-common_2024.1.bb | 10 ++++ .../recipes-drivers/video-common_git.bb | 10 ---- .../recipes-drivers/vprocss-example_2024.1.bb | 5 ++ .../recipes-drivers/vprocss-example_git.bb | 5 -- .../recipes-drivers/vprocss_2024.1.bb | 13 +++++ .../recipes-drivers/vprocss_git.bb | 13 ----- .../recipes-drivers/vtc_2024.1.bb | 13 +++++ .../recipes-drivers/vtc_git.bb | 13 ----- .../recipes-drivers/wdtps-example_2024.1.bb | 5 ++ .../recipes-drivers/wdtps-example_git.bb | 5 -- .../recipes-drivers/wdtps_2024.1.bb | 13 +++++ .../recipes-drivers/wdtps_git.bb | 13 ----- .../recipes-drivers/wdttb-example_2024.1.bb | 5 ++ .../recipes-drivers/wdttb-example_git.bb | 5 -- .../recipes-drivers/wdttb_2024.1.bb | 13 +++++ .../recipes-drivers/wdttb_git.bb | 13 ----- .../recipes-drivers/xadcps-example_2024.1.bb | 5 ++ .../recipes-drivers/xadcps-example_git.bb | 5 -- .../recipes-drivers/xadcps_2024.1.bb | 13 +++++ .../recipes-drivers/xadcps_git.bb | 13 ----- .../recipes-drivers/xdmapcie-example_2024.1.bb | 5 ++ .../recipes-drivers/xdmapcie-example_git.bb | 5 -- .../recipes-drivers/xdmapcie_2024.1.bb | 13 +++++ .../recipes-drivers/xdmapcie_git.bb | 13 ----- .../recipes-drivers/xxvethernet-example_2024.1.bb | 5 ++ .../recipes-drivers/xxvethernet-example_git.bb | 5 -- .../recipes-drivers/xxvethernet_2024.1.bb | 13 +++++ .../recipes-drivers/xxvethernet_git.bb | 13 ----- .../recipes-drivers/zdma-example_2024.1.bb | 5 ++ .../recipes-drivers/zdma-example_git.bb | 5 -- .../recipes-drivers/zdma_2024.1.bb | 13 +++++ .../recipes-drivers/zdma_git.bb | 13 ----- .../recipes-libraries/freertos10-xilinx_2024.1.bb | 15 +++++ .../recipes-libraries/freertos10-xilinx_git.bb | 15 ----- .../recipes-libraries/libxil_2024.1.bb | 50 ++++++++++++++++ .../recipes-libraries/libxil_git.bb | 50 ---------------- .../recipes-libraries/lwip_2024.1.bb | 34 +++++++++++ .../recipes-libraries/lwip_git.bb | 34 ----------- .../recipes-libraries/xilffs-example_2024.1.bb | 32 +++++++++++ .../recipes-libraries/xilffs-example_git.bb | 32 ----------- .../recipes-libraries/xilffs_2024.1.bb | 11 ++++ .../recipes-libraries/xilffs_git.bb | 11 ---- .../recipes-libraries/xilfpga-example_2024.1.bb | 29 ++++++++++ .../recipes-libraries/xilfpga-example_git.bb | 29 ---------- .../recipes-libraries/xilfpga_2024.1.bb | 8 +++ .../recipes-libraries/xilfpga_git.bb | 8 --- .../recipes-libraries/xilloader_2024.1.bb | 9 +++ .../recipes-libraries/xilloader_git.bb | 9 --- .../recipes-libraries/xilmailbox-example_2024.1.bb | 38 +++++++++++++ .../recipes-libraries/xilmailbox-example_git.bb | 38 ------------- .../recipes-libraries/xilmailbox_2024.1.bb | 15 +++++ .../recipes-libraries/xilmailbox_git.bb | 15 ----- .../recipes-libraries/xilnvm-example_2024.1.bb | 29 ++++++++++ .../recipes-libraries/xilnvm-example_git.bb | 29 ---------- .../recipes-libraries/xilnvm_2024.1.bb | 6 ++ .../recipes-libraries/xilnvm_git.bb | 6 -- .../recipes-libraries/xilpdi_2024.1.bb | 6 ++ .../recipes-libraries/xilpdi_git.bb | 6 -- .../recipes-libraries/xilplmi_2024.1.bb | 6 ++ .../recipes-libraries/xilplmi_git.bb | 6 -- .../recipes-libraries/xilpm_2024.1.bb | 15 +++++ .../recipes-libraries/xilpm_git.bb | 15 ----- .../recipes-libraries/xilpuf-example_2024.1.bb | 29 ++++++++++ .../recipes-libraries/xilpuf-example_git.bb | 29 ---------- .../recipes-libraries/xilpuf_2024.1.bb | 6 ++ .../recipes-libraries/xilpuf_git.bb | 6 -- .../recipes-libraries/xilsecure-example_2024.1.bb | 29 ++++++++++ .../recipes-libraries/xilsecure-example_git.bb | 29 ---------- .../recipes-libraries/xilsecure_2024.1.bb | 10 ++++ .../recipes-libraries/xilsecure_git.bb | 10 ---- .../recipes-libraries/xilsem_2024.1.bb | 6 ++ .../recipes-libraries/xilsem_git.bb | 6 -- .../recipes-libraries/xilskey_2024.1.bb | 6 ++ .../recipes-libraries/xilskey_git.bb | 6 -- .../recipes-libraries/xilstandalone_2024.1.bb | 21 +++++++ .../recipes-libraries/xilstandalone_git.bb | 21 ------- .../recipes-libraries/xiltimer_2024.1.bb | 15 +++++ .../recipes-libraries/xiltimer_git.bb | 15 ----- 380 files changed, 2808 insertions(+), 2808 deletions(-) create mode 100644 meta-xilinx-standalone-experimental/recipes-applications/empty-application/empty-application_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-applications/empty-application/empty-application_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-applications/freertos-hello-world/freertos-hello-world_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-applications/freertos-hello-world/freertos-hello-world_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-echo-server/freertos-lwip-echo-server_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-echo-server/freertos-lwip-echo-server_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-client/freertos-lwip-tcp-perf-client_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-client/freertos-lwip-tcp-perf-client_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-server/freertos-lwip-tcp-perf-server_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-server/freertos-lwip-tcp-perf-server_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-client/freertos-lwip-udp-perf-client_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-client/freertos-lwip-udp-perf-client_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-server/freertos-lwip-udp-perf-server_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-server/freertos-lwip-udp-perf-server_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-applications/hello-world/hello-world_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-applications/hello-world/hello-world_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-applications/lwip-echo-server/lwip-echo-server_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-applications/lwip-echo-server/lwip-echo-server_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-client/lwip-tcp-perf-client_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-client/lwip-tcp-perf-client_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-server/lwip-tcp-perf-server_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-server/lwip-tcp-perf-server_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-client/lwip-udp-perf-client_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-client/lwip-udp-perf-client_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-server/lwip-udp-perf-server_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-server/lwip-udp-perf-server_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-applications/memory-tests/memory-tests_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-applications/memory-tests/memory-tests_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-applications/peripheral-tests/peripheral-tests_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-applications/peripheral-tests/peripheral-tests_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/esw-conf_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/esw-conf_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/fsbl-firmware_2024.1.bbappend delete mode 100644 meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/fsbl-firmware_git.bbappend create mode 100644 meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/plm-firmware_2024.1.bbappend delete mode 100644 meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/plm-firmware_git.bbappend create mode 100644 meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/pmu-firmware_2024.1.bbappend delete mode 100644 meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/pmu-firmware_git.bbappend create mode 100644 meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/psm-firmware_2024.1.bbappend delete mode 100644 meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/psm-firmware_git.bbappend create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/avbuf_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/avbuf_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/axicdma-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/axicdma-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/axicdma_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/axicdma_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/axidma-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/axidma-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/axidma_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/axidma_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/axiethernet-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/axiethernet-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/axiethernet_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/axiethernet_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/axipmon-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/axipmon-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/axipmon_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/axipmon_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/axis-switch_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/axis-switch_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/axivdma-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/axivdma-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/axivdma_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/axivdma_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/bram-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/bram-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/bram_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/bram_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/can-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/can-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/can_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/can_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/canfd-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/canfd-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/canfd_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/canfd_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/canps-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/canps-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/canps_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/canps_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/cframe_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/cframe_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/cfupmc_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/cfupmc_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/clk-wiz_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/clk-wiz_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/clockps-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/clockps-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/clockps_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/clockps_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/common_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/common_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/coresightps-dcc_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/coresightps-dcc_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/csudma-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/csudma-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/csudma_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/csudma_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/ddrcpsu_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/ddrcpsu_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/devcfg-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/devcfg-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/devcfg_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/devcfg_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/dfxasm-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/dfxasm-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/dfxasm_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/dfxasm_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/dmaps-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/dmaps-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/dmaps_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/dmaps_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/dpdma_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/dpdma_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/dppsu_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/dppsu_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/emaclite-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/emaclite-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/emaclite_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/emaclite_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/emacps-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/emacps-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/emacps_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/emacps_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/gpio-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/gpio-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/gpio_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/gpio_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/gpiops-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/gpiops-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/gpiops_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/gpiops_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/iic-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/iic-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/iic_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/iic_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/iicps-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/iicps-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/iicps_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/iicps_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/intc-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/intc-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/intc_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/intc_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/iomodule_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/iomodule_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/ipipsu-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/ipipsu-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/ipipsu_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/ipipsu_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/llfifo-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/llfifo-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/llfifo_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/llfifo_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/mbox-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/mbox-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/mbox_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/mbox_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/mcdma-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/mcdma-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/mcdma_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/mcdma_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/mutex-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/mutex-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/mutex_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/mutex_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/nandpsu-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/nandpsu-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/nandpsu_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/nandpsu_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/ospipsv-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/ospipsv-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/ospipsv_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/ospipsv_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/pciepsu-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/pciepsu-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/pciepsu_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/pciepsu_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/qspips-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/qspips-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/qspips_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/qspips_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/qspipsu-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/qspipsu-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/qspipsu_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/qspipsu_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/resetps-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/resetps-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/resetps_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/resetps_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/scugic-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/scugic-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/scugic_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/scugic_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/sdps-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/sdps-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/sdps_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/sdps_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/spips-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/spips-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/spips_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/spips_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/sysmon-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/sysmon-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/sysmon_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/sysmon_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsu-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsu-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsu_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsu_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/tmr-inject_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/tmr-inject_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/tmr-manager_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/tmr-manager_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/tmrctr-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/tmrctr-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/tmrctr_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/tmrctr_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/trafgen-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/trafgen-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/trafgen_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/trafgen_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/ttcps-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/ttcps-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/ttcps_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/ttcps_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/uartlite-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/uartlite-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/uartlite_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/uartlite_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/uartns550-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/uartns550-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/uartns550_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/uartns550_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/uartps-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/uartps-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/uartps_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/uartps_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/uartpsv-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/uartpsv-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/uartpsv_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/uartpsv_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/usb-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/usb-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/usb_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/usb_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/usbpsu-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/usbpsu-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/usbpsu_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/usbpsu_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-csc_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-csc_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-deinterlacer_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-deinterlacer_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-demosaic-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-demosaic-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-demosaic_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-demosaic_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-rd-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-rd-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-rd_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-rd_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-wr-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-wr-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-wr_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-wr_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-gamma-lut-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-gamma-lut-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-gamma-lut_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-gamma-lut_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-hcresampler_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-hcresampler_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-hscaler_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-hscaler_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-letterbox_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-letterbox_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-mix-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-mix-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-mix_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-mix_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-multi-scaler-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-multi-scaler-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-multi-scaler_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-multi-scaler_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-scenechange-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-scenechange-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-scenechange_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-scenechange_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-tpg_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-tpg_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-vcresampler_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-vcresampler_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-vscaler_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-vscaler_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/video-common_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/video-common_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/vprocss-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/vprocss-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/vprocss_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/vprocss_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/vtc_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/vtc_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/wdtps-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/wdtps-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/wdtps_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/wdtps_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/wdttb-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/wdttb-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/wdttb_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/wdttb_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/xadcps-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/xadcps-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/xadcps_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/xadcps_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/xdmapcie-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/xdmapcie-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/xdmapcie_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/xdmapcie_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/zdma-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/zdma-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/zdma_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/zdma_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/freertos10-xilinx_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/freertos10-xilinx_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/libxil_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/libxil_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/lwip_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/lwip_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilffs-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilffs-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilffs_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilffs_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilfpga-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilfpga-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilfpga_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilfpga_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilloader_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilloader_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilmailbox-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilmailbox-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilmailbox_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilmailbox_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilnvm-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilnvm-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilnvm_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilnvm_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilpdi_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilpdi_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilplmi_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilplmi_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilpm_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilpm_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilpuf-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilpuf-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilpuf_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilpuf_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilsecure-example_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilsecure-example_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilsecure_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilsecure_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilsem_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilsem_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilskey_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilskey_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilstandalone_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilstandalone_git.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xiltimer_2024.1.bb delete mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xiltimer_git.bb diff --git a/meta-xilinx-standalone-experimental/recipes-applications/empty-application/empty-application_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/empty-application/empty-application_2024.1.bb new file mode 100644 index 00000000..d62779ae --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-applications/empty-application/empty-application_2024.1.bb @@ -0,0 +1,45 @@ +inherit esw deploy + +ESW_COMPONENT_SRC = "/lib/sw_apps/empty_application/src/" + +DEPENDS += "libxil xiltimer" + +inherit python3native + +do_configure:prepend() { + ( + cd ${S} + lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} + install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ + install -m 0644 ${CUSTOM_SRCFILE}/* ${S}/${ESW_COMPONENT_SRC}/ + cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files + ) +} + +CUSTOM_APP_IMAGE_NAME ??= "custom-application" + +ESW_CUSTOM_LINKER_FILE ?= "None" +EXTRA_OECMAKE = "-DCUSTOM_LINKER_FILE=${@d.getVar('ESW_CUSTOM_LINKER_FILE')}" + +inherit image-artifact-names + +CUSTOM_APP_BASE_NAME ?= "${CUSTOM_APP_IMAGE_NAME}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" + +ESW_COMPONENT ??= "empty_application.elf" + +do_compile:append() { + ${OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/empty_application.bin +} + +do_install() { + : +} + +do_deploy() { + install -Dm 0644 ${B}/${ESW_COMPONENT} ${DEPLOYDIR}/${CUSTOM_APP_BASE_NAME}.elf + ln -sf ${CUSTOM_APP_BASE_NAME}.elf ${DEPLOYDIR}/${CUSTOM_APP_IMAGE_NAME}.elf + install -m 0644 ${B}/empty_application.bin ${DEPLOYDIR}/${CUSTOM_APP_BASE_NAME}.bin + ln -sf ${CUSTOM_APP_BASE_NAME}.bin ${DEPLOYDIR}/${CUSTOM_APP_IMAGE_NAME}.bin +} +addtask deploy before do_build after do_install diff --git a/meta-xilinx-standalone-experimental/recipes-applications/empty-application/empty-application_git.bb b/meta-xilinx-standalone-experimental/recipes-applications/empty-application/empty-application_git.bb deleted file mode 100644 index d62779ae..00000000 --- a/meta-xilinx-standalone-experimental/recipes-applications/empty-application/empty-application_git.bb +++ /dev/null @@ -1,45 +0,0 @@ -inherit esw deploy - -ESW_COMPONENT_SRC = "/lib/sw_apps/empty_application/src/" - -DEPENDS += "libxil xiltimer" - -inherit python3native - -do_configure:prepend() { - ( - cd ${S} - lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} - install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ - install -m 0644 ${CUSTOM_SRCFILE}/* ${S}/${ESW_COMPONENT_SRC}/ - cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files - ) -} - -CUSTOM_APP_IMAGE_NAME ??= "custom-application" - -ESW_CUSTOM_LINKER_FILE ?= "None" -EXTRA_OECMAKE = "-DCUSTOM_LINKER_FILE=${@d.getVar('ESW_CUSTOM_LINKER_FILE')}" - -inherit image-artifact-names - -CUSTOM_APP_BASE_NAME ?= "${CUSTOM_APP_IMAGE_NAME}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - -ESW_COMPONENT ??= "empty_application.elf" - -do_compile:append() { - ${OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/empty_application.bin -} - -do_install() { - : -} - -do_deploy() { - install -Dm 0644 ${B}/${ESW_COMPONENT} ${DEPLOYDIR}/${CUSTOM_APP_BASE_NAME}.elf - ln -sf ${CUSTOM_APP_BASE_NAME}.elf ${DEPLOYDIR}/${CUSTOM_APP_IMAGE_NAME}.elf - install -m 0644 ${B}/empty_application.bin ${DEPLOYDIR}/${CUSTOM_APP_BASE_NAME}.bin - ln -sf ${CUSTOM_APP_BASE_NAME}.bin ${DEPLOYDIR}/${CUSTOM_APP_IMAGE_NAME}.bin -} -addtask deploy before do_build after do_install diff --git a/meta-xilinx-standalone-experimental/recipes-applications/freertos-hello-world/freertos-hello-world_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/freertos-hello-world/freertos-hello-world_2024.1.bb new file mode 100644 index 00000000..8106684b --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-applications/freertos-hello-world/freertos-hello-world_2024.1.bb @@ -0,0 +1,39 @@ +inherit esw deploy python3native + +ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_hello_world/src/" + +DEPENDS += "libxil xilstandalone freertos10-xilinx xiltimer" + +do_configure:prepend() { + ( + cd ${S} + lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} + install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ + cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files + ) +} + +do_install() { + install -d ${D}/${base_libdir}/firmware + # Note that we have to make the ELF executable for it to be stripped + install -m 0755 ${B}/freertos_hello_world* ${D}/${base_libdir}/firmware +} + +inherit image-artifact-names + +FREERTOS_HELLO_WORLD_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" + +do_deploy() { + + # We need to deploy the stripped elf, hence why not doing it from ${D} + install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_hello_world.elf ${DEPLOYDIR}/${FREERTOS_HELLO_WORLD_BASE_NAME}.elf + ln -sf ${FREERTOS_HELLO_WORLD_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf + ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/freertos_hello_world.elf ${WORKDIR}/package/${base_libdir}/firmware/freertos_hello_world.bin + install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_hello_world.bin ${DEPLOYDIR}/${FREERTOS_HELLO_WORLD_BASE_NAME}.bin + ln -sf ${FREERTOS_HELLO_WORLD_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin +} + +addtask deploy before do_build after do_package + +FILES:${PN} = "${base_libdir}/firmware/freertos_hello_world*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/freertos-hello-world/freertos-hello-world_git.bb b/meta-xilinx-standalone-experimental/recipes-applications/freertos-hello-world/freertos-hello-world_git.bb deleted file mode 100644 index 8106684b..00000000 --- a/meta-xilinx-standalone-experimental/recipes-applications/freertos-hello-world/freertos-hello-world_git.bb +++ /dev/null @@ -1,39 +0,0 @@ -inherit esw deploy python3native - -ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_hello_world/src/" - -DEPENDS += "libxil xilstandalone freertos10-xilinx xiltimer" - -do_configure:prepend() { - ( - cd ${S} - lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} - install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ - cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files - ) -} - -do_install() { - install -d ${D}/${base_libdir}/firmware - # Note that we have to make the ELF executable for it to be stripped - install -m 0755 ${B}/freertos_hello_world* ${D}/${base_libdir}/firmware -} - -inherit image-artifact-names - -FREERTOS_HELLO_WORLD_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - -do_deploy() { - - # We need to deploy the stripped elf, hence why not doing it from ${D} - install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_hello_world.elf ${DEPLOYDIR}/${FREERTOS_HELLO_WORLD_BASE_NAME}.elf - ln -sf ${FREERTOS_HELLO_WORLD_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/freertos_hello_world.elf ${WORKDIR}/package/${base_libdir}/firmware/freertos_hello_world.bin - install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_hello_world.bin ${DEPLOYDIR}/${FREERTOS_HELLO_WORLD_BASE_NAME}.bin - ln -sf ${FREERTOS_HELLO_WORLD_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} - -addtask deploy before do_build after do_package - -FILES:${PN} = "${base_libdir}/firmware/freertos_hello_world*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-echo-server/freertos-lwip-echo-server_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-echo-server/freertos-lwip-echo-server_2024.1.bb new file mode 100644 index 00000000..f7eae1dc --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-echo-server/freertos-lwip-echo-server_2024.1.bb @@ -0,0 +1,48 @@ +inherit esw deploy python3native + +ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_lwip_echo_server/src/" + +DEPENDS += "libxil lwip xiltimer freertos10-xilinx" + +do_configure:prepend() { + ( + cd ${S} + lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} + install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ + cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files + ) +} + +do_generate_app_data() { + # This script should also not rely on relative paths and such + cd ${S} + lopper ${DTS_FILE} -- bmcmake_metadata_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} hwcmake_metadata ${S} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ +} +addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" + +do_install() { + install -d ${D}/${base_libdir}/firmware + # Note that we have to make the ELF executable for it to be stripped + install -m 0755 ${B}/freertos_lwip_echo* ${D}/${base_libdir}/firmware +} + +inherit image-artifact-names + +FREERTOS_LWIP_ECHO_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" + +do_deploy() { + + # We need to deploy the stripped elf, hence why not doing it from ${D} + install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_echo_server.elf ${DEPLOYDIR}/${FREERTOS_LWIP_ECHO_BASE_NAME}.elf + ln -sf ${FREERTOS_LWIP_ECHO_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf + ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_echo_server.elf ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_echo_server.bin + install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_echo_server.bin ${DEPLOYDIR}/${FREERTOS_LWIP_ECHO_BASE_NAME}.bin + ln -sf ${FREERTOS_LWIP_ECHO_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin +} + +addtask deploy before do_build after do_package + +FILES:${PN} = "${base_libdir}/firmware/freertos_lwip_echo*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-echo-server/freertos-lwip-echo-server_git.bb b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-echo-server/freertos-lwip-echo-server_git.bb deleted file mode 100644 index f7eae1dc..00000000 --- a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-echo-server/freertos-lwip-echo-server_git.bb +++ /dev/null @@ -1,48 +0,0 @@ -inherit esw deploy python3native - -ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_lwip_echo_server/src/" - -DEPENDS += "libxil lwip xiltimer freertos10-xilinx" - -do_configure:prepend() { - ( - cd ${S} - lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} - install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ - cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files - ) -} - -do_generate_app_data() { - # This script should also not rely on relative paths and such - cd ${S} - lopper ${DTS_FILE} -- bmcmake_metadata_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} hwcmake_metadata ${S} - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ -} -addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" - -do_install() { - install -d ${D}/${base_libdir}/firmware - # Note that we have to make the ELF executable for it to be stripped - install -m 0755 ${B}/freertos_lwip_echo* ${D}/${base_libdir}/firmware -} - -inherit image-artifact-names - -FREERTOS_LWIP_ECHO_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - -do_deploy() { - - # We need to deploy the stripped elf, hence why not doing it from ${D} - install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_echo_server.elf ${DEPLOYDIR}/${FREERTOS_LWIP_ECHO_BASE_NAME}.elf - ln -sf ${FREERTOS_LWIP_ECHO_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_echo_server.elf ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_echo_server.bin - install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_echo_server.bin ${DEPLOYDIR}/${FREERTOS_LWIP_ECHO_BASE_NAME}.bin - ln -sf ${FREERTOS_LWIP_ECHO_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} - -addtask deploy before do_build after do_package - -FILES:${PN} = "${base_libdir}/firmware/freertos_lwip_echo*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-client/freertos-lwip-tcp-perf-client_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-client/freertos-lwip-tcp-perf-client_2024.1.bb new file mode 100644 index 00000000..51b89b8e --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-client/freertos-lwip-tcp-perf-client_2024.1.bb @@ -0,0 +1,48 @@ +inherit esw deploy python3native + +ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_lwip_tcp_perf_client/src/" + +DEPENDS += "libxil lwip xiltimer freertos10-xilinx" + +do_configure:prepend() { + ( + cd ${S} + lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} + install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ + cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files + ) +} + +do_generate_app_data() { + # This script should also not rely on relative paths and such + cd ${S} + lopper ${DTS_FILE} -- bmcmake_metadata_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} hwcmake_metadata ${S} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ +} +addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" + +do_install() { + install -d ${D}/${base_libdir}/firmware + # Note that we have to make the ELF executable for it to be stripped + install -m 0755 ${B}/freertos_lwip_tcp_perf_client* ${D}/${base_libdir}/firmware +} + +inherit image-artifact-names + +FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" + +do_deploy() { + + # We need to deploy the stripped elf, hence why not doing it from ${D} + install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_client.elf ${DEPLOYDIR}/${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.elf + ln -sf ${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf + ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_client.elf ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_client.bin + install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_client.bin ${DEPLOYDIR}/${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.bin + ln -sf ${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin +} + +addtask deploy before do_build after do_package + +FILES:${PN} = "${base_libdir}/firmware/freertos_lwip_tcp_perf_client*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-client/freertos-lwip-tcp-perf-client_git.bb b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-client/freertos-lwip-tcp-perf-client_git.bb deleted file mode 100644 index 51b89b8e..00000000 --- a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-client/freertos-lwip-tcp-perf-client_git.bb +++ /dev/null @@ -1,48 +0,0 @@ -inherit esw deploy python3native - -ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_lwip_tcp_perf_client/src/" - -DEPENDS += "libxil lwip xiltimer freertos10-xilinx" - -do_configure:prepend() { - ( - cd ${S} - lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} - install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ - cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files - ) -} - -do_generate_app_data() { - # This script should also not rely on relative paths and such - cd ${S} - lopper ${DTS_FILE} -- bmcmake_metadata_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} hwcmake_metadata ${S} - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ -} -addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" - -do_install() { - install -d ${D}/${base_libdir}/firmware - # Note that we have to make the ELF executable for it to be stripped - install -m 0755 ${B}/freertos_lwip_tcp_perf_client* ${D}/${base_libdir}/firmware -} - -inherit image-artifact-names - -FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - -do_deploy() { - - # We need to deploy the stripped elf, hence why not doing it from ${D} - install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_client.elf ${DEPLOYDIR}/${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.elf - ln -sf ${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_client.elf ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_client.bin - install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_client.bin ${DEPLOYDIR}/${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.bin - ln -sf ${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} - -addtask deploy before do_build after do_package - -FILES:${PN} = "${base_libdir}/firmware/freertos_lwip_tcp_perf_client*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-server/freertos-lwip-tcp-perf-server_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-server/freertos-lwip-tcp-perf-server_2024.1.bb new file mode 100644 index 00000000..606fd01e --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-server/freertos-lwip-tcp-perf-server_2024.1.bb @@ -0,0 +1,48 @@ +inherit esw deploy python3native + +ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_lwip_tcp_perf_server/src/" + +DEPENDS += "libxil lwip xiltimer freertos10-xilinx" + +do_configure:prepend() { + ( + cd ${S} + lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} + install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ + cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files + ) +} + +do_generate_app_data() { + # This script should also not rely on relative paths and such + cd ${S} + lopper ${DTS_FILE} -- bmcmake_metadata_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} hwcmake_metadata ${S} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ +} +addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" + +do_install() { + install -d ${D}/${base_libdir}/firmware + # Note that we have to make the ELF executable for it to be stripped + install -m 0755 ${B}/freertos_lwip_tcp_perf_server* ${D}/${base_libdir}/firmware +} + +inherit image-artifact-names + +FREERTOS_LWIP_TCP_PERF_SERVER_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" + +do_deploy() { + + # We need to deploy the stripped elf, hence why not doing it from ${D} + install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_server.elf ${DEPLOYDIR}/${FREERTOS_LWIP_TCP_PERF_SERVER_BASE_NAME}.elf + ln -sf ${FREERTOS_LWIP_TCP_PERF_SERVER_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf + ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_server.elf ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_server.bin + install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_server.bin ${DEPLOYDIR}/${FREERTOS_LWIP_TCP_PERF_SERVER_BASE_NAME}.bin + ln -sf ${FREERTOS_LWIP_TCP_PERF_SERVER_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin +} + +addtask deploy before do_build after do_package + +FILES:${PN} = "${base_libdir}/firmware/freertos_lwip_tcp_perf_server*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-server/freertos-lwip-tcp-perf-server_git.bb b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-server/freertos-lwip-tcp-perf-server_git.bb deleted file mode 100644 index 606fd01e..00000000 --- a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-server/freertos-lwip-tcp-perf-server_git.bb +++ /dev/null @@ -1,48 +0,0 @@ -inherit esw deploy python3native - -ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_lwip_tcp_perf_server/src/" - -DEPENDS += "libxil lwip xiltimer freertos10-xilinx" - -do_configure:prepend() { - ( - cd ${S} - lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} - install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ - cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files - ) -} - -do_generate_app_data() { - # This script should also not rely on relative paths and such - cd ${S} - lopper ${DTS_FILE} -- bmcmake_metadata_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} hwcmake_metadata ${S} - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ -} -addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" - -do_install() { - install -d ${D}/${base_libdir}/firmware - # Note that we have to make the ELF executable for it to be stripped - install -m 0755 ${B}/freertos_lwip_tcp_perf_server* ${D}/${base_libdir}/firmware -} - -inherit image-artifact-names - -FREERTOS_LWIP_TCP_PERF_SERVER_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - -do_deploy() { - - # We need to deploy the stripped elf, hence why not doing it from ${D} - install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_server.elf ${DEPLOYDIR}/${FREERTOS_LWIP_TCP_PERF_SERVER_BASE_NAME}.elf - ln -sf ${FREERTOS_LWIP_TCP_PERF_SERVER_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_server.elf ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_server.bin - install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_server.bin ${DEPLOYDIR}/${FREERTOS_LWIP_TCP_PERF_SERVER_BASE_NAME}.bin - ln -sf ${FREERTOS_LWIP_TCP_PERF_SERVER_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} - -addtask deploy before do_build after do_package - -FILES:${PN} = "${base_libdir}/firmware/freertos_lwip_tcp_perf_server*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-client/freertos-lwip-udp-perf-client_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-client/freertos-lwip-udp-perf-client_2024.1.bb new file mode 100644 index 00000000..7f9d86e2 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-client/freertos-lwip-udp-perf-client_2024.1.bb @@ -0,0 +1,48 @@ +inherit esw deploy python3native + +ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_lwip_udp_perf_client/src/" + +DEPENDS += "libxil lwip xiltimer freertos10-xilinx" + +do_configure:prepend() { + ( + cd ${S} + lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ + cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files + install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} + ) +} + +do_generate_app_data() { + # This script should also not rely on relative paths and such + cd ${S} + lopper ${DTS_FILE} -- bmcmake_metadata_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} hwcmake_metadata ${S} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ +} +addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" + +do_install() { + install -d ${D}/${base_libdir}/firmware + # Note that we have to make the ELF executable for it to be stripped + install -m 0755 ${B}/freertos_lwip_udp_perf_client* ${D}/${base_libdir}/firmware +} + +inherit image-artifact-names + +FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" + +do_deploy() { + + # We need to deploy the stripped elf, hence why not doing it from ${D} + install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_client.elf ${DEPLOYDIR}/${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.elf + ln -sf ${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf + ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_client.elf ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_client.bin + install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_client.bin ${DEPLOYDIR}/${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.bin + ln -sf ${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin +} + +addtask deploy before do_build after do_package + +FILES:${PN} = "${base_libdir}/firmware/freertos_lwip_udp_perf_client*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-client/freertos-lwip-udp-perf-client_git.bb b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-client/freertos-lwip-udp-perf-client_git.bb deleted file mode 100644 index 7f9d86e2..00000000 --- a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-client/freertos-lwip-udp-perf-client_git.bb +++ /dev/null @@ -1,48 +0,0 @@ -inherit esw deploy python3native - -ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_lwip_udp_perf_client/src/" - -DEPENDS += "libxil lwip xiltimer freertos10-xilinx" - -do_configure:prepend() { - ( - cd ${S} - lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ - cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files - install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} - ) -} - -do_generate_app_data() { - # This script should also not rely on relative paths and such - cd ${S} - lopper ${DTS_FILE} -- bmcmake_metadata_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} hwcmake_metadata ${S} - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ -} -addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" - -do_install() { - install -d ${D}/${base_libdir}/firmware - # Note that we have to make the ELF executable for it to be stripped - install -m 0755 ${B}/freertos_lwip_udp_perf_client* ${D}/${base_libdir}/firmware -} - -inherit image-artifact-names - -FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - -do_deploy() { - - # We need to deploy the stripped elf, hence why not doing it from ${D} - install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_client.elf ${DEPLOYDIR}/${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.elf - ln -sf ${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_client.elf ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_client.bin - install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_client.bin ${DEPLOYDIR}/${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.bin - ln -sf ${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} - -addtask deploy before do_build after do_package - -FILES:${PN} = "${base_libdir}/firmware/freertos_lwip_udp_perf_client*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-server/freertos-lwip-udp-perf-server_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-server/freertos-lwip-udp-perf-server_2024.1.bb new file mode 100644 index 00000000..4fc02f36 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-server/freertos-lwip-udp-perf-server_2024.1.bb @@ -0,0 +1,48 @@ +inherit esw deploy python3native + +ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_lwip_udp_perf_server/src/" + +DEPENDS += "libxil lwip xiltimer freertos10-xilinx" + +do_configure:prepend() { + ( + cd ${S} + lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ + cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files + install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} + ) +} + +do_generate_app_data() { + # This script should also not rely on relative paths and such + cd ${S} + lopper ${DTS_FILE} -- bmcmake_metadata_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} hwcmake_metadata ${S} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ +} +addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" + +do_install() { + install -d ${D}/${base_libdir}/firmware + # Note that we have to make the ELF executable for it to be stripped + install -m 0755 ${B}/freertos_lwip_udp_perf_server* ${D}/${base_libdir}/firmware +} + +inherit image-artifact-names + +FREERTOS_LWIP_UDP_PERF_SERVER_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" + +do_deploy() { + + # We need to deploy the stripped elf, hence why not doing it from ${D} + install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_server.elf ${DEPLOYDIR}/${FREERTOS_LWIP_UDP_PERF_SERVER_BASE_NAME}.elf + ln -sf ${FREERTOS_LWIP_UDP_PERF_SERVER_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf + ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_server.elf ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_server.bin + install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_server.bin ${DEPLOYDIR}/${FREERTOS_LWIP_UDP_PERF_SERVER_BASE_NAME}.bin + ln -sf ${FREERTOS_LWIP_UDP_PERF_SERVER_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin +} + +addtask deploy before do_build after do_package + +FILES:${PN} = "${base_libdir}/firmware/freertos_lwip_udp_perf_server*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-server/freertos-lwip-udp-perf-server_git.bb b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-server/freertos-lwip-udp-perf-server_git.bb deleted file mode 100644 index 4fc02f36..00000000 --- a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-server/freertos-lwip-udp-perf-server_git.bb +++ /dev/null @@ -1,48 +0,0 @@ -inherit esw deploy python3native - -ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_lwip_udp_perf_server/src/" - -DEPENDS += "libxil lwip xiltimer freertos10-xilinx" - -do_configure:prepend() { - ( - cd ${S} - lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ - cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files - install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} - ) -} - -do_generate_app_data() { - # This script should also not rely on relative paths and such - cd ${S} - lopper ${DTS_FILE} -- bmcmake_metadata_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} hwcmake_metadata ${S} - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ -} -addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" - -do_install() { - install -d ${D}/${base_libdir}/firmware - # Note that we have to make the ELF executable for it to be stripped - install -m 0755 ${B}/freertos_lwip_udp_perf_server* ${D}/${base_libdir}/firmware -} - -inherit image-artifact-names - -FREERTOS_LWIP_UDP_PERF_SERVER_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - -do_deploy() { - - # We need to deploy the stripped elf, hence why not doing it from ${D} - install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_server.elf ${DEPLOYDIR}/${FREERTOS_LWIP_UDP_PERF_SERVER_BASE_NAME}.elf - ln -sf ${FREERTOS_LWIP_UDP_PERF_SERVER_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_server.elf ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_server.bin - install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_server.bin ${DEPLOYDIR}/${FREERTOS_LWIP_UDP_PERF_SERVER_BASE_NAME}.bin - ln -sf ${FREERTOS_LWIP_UDP_PERF_SERVER_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} - -addtask deploy before do_build after do_package - -FILES:${PN} = "${base_libdir}/firmware/freertos_lwip_udp_perf_server*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/hello-world/hello-world_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/hello-world/hello-world_2024.1.bb new file mode 100644 index 00000000..1de5ef8c --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-applications/hello-world/hello-world_2024.1.bb @@ -0,0 +1,44 @@ +inherit esw deploy + +ESW_COMPONENT_SRC = "/lib/sw_apps/hello_world/src/" + +DEPENDS += "libxil xiltimer" + +inherit python3native + +do_configure:prepend() { + ( + cd ${S} + lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ + cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files + install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} + ) +} + +do_install() { + install -d ${D}/${base_libdir}/firmware + # Note that we have to make the ELF executable for it to be stripped + install -m 0755 ${B}/hello_world* ${D}/${base_libdir}/firmware +} + +inherit image-artifact-names + +HELLO_WORLD_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" + +ESW_CUSTOM_LINKER_FILE ?= "None" +EXTRA_OECMAKE = "-DCUSTOM_LINKER_FILE=${@d.getVar('ESW_CUSTOM_LINKER_FILE')}" + +do_deploy() { + + # We need to deploy the stripped elf, hence why not doing it from ${D} + install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/hello_world.elf ${DEPLOYDIR}/${HELLO_WORLD_BASE_NAME}.elf + ln -sf ${HELLO_WORLD_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf + ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/hello_world.elf ${WORKDIR}/package/${base_libdir}/firmware/hello_world.bin + install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/hello_world.bin ${DEPLOYDIR}/${HELLO_WORLD_BASE_NAME}.bin + ln -sf ${HELLO_WORLD_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin +} + +addtask deploy before do_build after do_package + +FILES:${PN} = "${base_libdir}/firmware/hello_world*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/hello-world/hello-world_git.bb b/meta-xilinx-standalone-experimental/recipes-applications/hello-world/hello-world_git.bb deleted file mode 100644 index 1de5ef8c..00000000 --- a/meta-xilinx-standalone-experimental/recipes-applications/hello-world/hello-world_git.bb +++ /dev/null @@ -1,44 +0,0 @@ -inherit esw deploy - -ESW_COMPONENT_SRC = "/lib/sw_apps/hello_world/src/" - -DEPENDS += "libxil xiltimer" - -inherit python3native - -do_configure:prepend() { - ( - cd ${S} - lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ - cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files - install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} - ) -} - -do_install() { - install -d ${D}/${base_libdir}/firmware - # Note that we have to make the ELF executable for it to be stripped - install -m 0755 ${B}/hello_world* ${D}/${base_libdir}/firmware -} - -inherit image-artifact-names - -HELLO_WORLD_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - -ESW_CUSTOM_LINKER_FILE ?= "None" -EXTRA_OECMAKE = "-DCUSTOM_LINKER_FILE=${@d.getVar('ESW_CUSTOM_LINKER_FILE')}" - -do_deploy() { - - # We need to deploy the stripped elf, hence why not doing it from ${D} - install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/hello_world.elf ${DEPLOYDIR}/${HELLO_WORLD_BASE_NAME}.elf - ln -sf ${HELLO_WORLD_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/hello_world.elf ${WORKDIR}/package/${base_libdir}/firmware/hello_world.bin - install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/hello_world.bin ${DEPLOYDIR}/${HELLO_WORLD_BASE_NAME}.bin - ln -sf ${HELLO_WORLD_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} - -addtask deploy before do_build after do_package - -FILES:${PN} = "${base_libdir}/firmware/hello_world*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/lwip-echo-server/lwip-echo-server_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/lwip-echo-server/lwip-echo-server_2024.1.bb new file mode 100644 index 00000000..c59d816e --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-applications/lwip-echo-server/lwip-echo-server_2024.1.bb @@ -0,0 +1,48 @@ +inherit esw deploy python3native + +ESW_COMPONENT_SRC = "/lib/sw_apps/lwip_echo_server/src/" + +DEPENDS += "libxil lwip xiltimer" + +do_configure:prepend() { + ( + cd ${S} + lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ + cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files + install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} + ) +} + +do_generate_app_data() { + # This script should also not rely on relative paths and such + cd ${S} + lopper ${DTS_FILE} -- bmcmake_metadata_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} hwcmake_metadata ${S} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ +} +addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" + +do_install() { + install -d ${D}/${base_libdir}/firmware + # Note that we have to make the ELF executable for it to be stripped + install -m 0755 ${B}/lwip_echo* ${D}/${base_libdir}/firmware +} + +inherit image-artifact-names + +LWIP_ECHO_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" + +do_deploy() { + + # We need to deploy the stripped elf, hence why not doing it from ${D} + install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_echo_server.elf ${DEPLOYDIR}/${LWIP_ECHO_BASE_NAME}.elf + ln -sf ${LWIP_ECHO_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf + ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/lwip_echo_server.elf ${WORKDIR}/package/${base_libdir}/firmware/lwip_echo.bin + install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_echo.bin ${DEPLOYDIR}/${LWIP_ECHO_BASE_NAME}.bin + ln -sf ${LWIP_ECHO_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin +} + +addtask deploy before do_build after do_package + +FILES:${PN} = "${base_libdir}/firmware/lwip_echo*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/lwip-echo-server/lwip-echo-server_git.bb b/meta-xilinx-standalone-experimental/recipes-applications/lwip-echo-server/lwip-echo-server_git.bb deleted file mode 100644 index c59d816e..00000000 --- a/meta-xilinx-standalone-experimental/recipes-applications/lwip-echo-server/lwip-echo-server_git.bb +++ /dev/null @@ -1,48 +0,0 @@ -inherit esw deploy python3native - -ESW_COMPONENT_SRC = "/lib/sw_apps/lwip_echo_server/src/" - -DEPENDS += "libxil lwip xiltimer" - -do_configure:prepend() { - ( - cd ${S} - lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ - cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files - install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} - ) -} - -do_generate_app_data() { - # This script should also not rely on relative paths and such - cd ${S} - lopper ${DTS_FILE} -- bmcmake_metadata_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} hwcmake_metadata ${S} - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ -} -addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" - -do_install() { - install -d ${D}/${base_libdir}/firmware - # Note that we have to make the ELF executable for it to be stripped - install -m 0755 ${B}/lwip_echo* ${D}/${base_libdir}/firmware -} - -inherit image-artifact-names - -LWIP_ECHO_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - -do_deploy() { - - # We need to deploy the stripped elf, hence why not doing it from ${D} - install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_echo_server.elf ${DEPLOYDIR}/${LWIP_ECHO_BASE_NAME}.elf - ln -sf ${LWIP_ECHO_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/lwip_echo_server.elf ${WORKDIR}/package/${base_libdir}/firmware/lwip_echo.bin - install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_echo.bin ${DEPLOYDIR}/${LWIP_ECHO_BASE_NAME}.bin - ln -sf ${LWIP_ECHO_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} - -addtask deploy before do_build after do_package - -FILES:${PN} = "${base_libdir}/firmware/lwip_echo*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-client/lwip-tcp-perf-client_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-client/lwip-tcp-perf-client_2024.1.bb new file mode 100644 index 00000000..b9834e34 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-client/lwip-tcp-perf-client_2024.1.bb @@ -0,0 +1,48 @@ +inherit esw deploy python3native + +ESW_COMPONENT_SRC = "/lib/sw_apps/lwip_tcp_perf_client/src/" + +DEPENDS += "libxil lwip xiltimer" + +do_configure:prepend() { + ( + cd ${S} + lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ + cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files + install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} + ) +} + +do_generate_app_data() { + # This script should also not rely on relative paths and such + cd ${S} + lopper ${DTS_FILE} -- bmcmake_metadata_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} hwcmake_metadata ${S} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ +} +addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" + +do_install() { + install -d ${D}/${base_libdir}/firmware + # Note that we have to make the ELF executable for it to be stripped + install -m 0755 ${B}/lwip_tcp_perf_client* ${D}/${base_libdir}/firmware +} + +inherit image-artifact-names + +LWIP_TCP_PERF_CLIENT_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" + +do_deploy() { + + # We need to deploy the stripped elf, hence why not doing it from ${D} + install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_client.elf ${DEPLOYDIR}/${LWIP_TCP_PERF_CLIENT_BASE_NAME}.elf + ln -sf ${LWIP_TCP_PERF_CLIENT_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf + ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_client.elf ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_client.bin + install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_client.bin ${DEPLOYDIR}/${LWIP_TCP_PERF_CLIENT_BASE_NAME}.bin + ln -sf ${LWIP_TCP_PERF_CLIENT_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin +} + +addtask deploy before do_build after do_package + +FILES:${PN} = "${base_libdir}/firmware/lwip_tcp_perf_client*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-client/lwip-tcp-perf-client_git.bb b/meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-client/lwip-tcp-perf-client_git.bb deleted file mode 100644 index b9834e34..00000000 --- a/meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-client/lwip-tcp-perf-client_git.bb +++ /dev/null @@ -1,48 +0,0 @@ -inherit esw deploy python3native - -ESW_COMPONENT_SRC = "/lib/sw_apps/lwip_tcp_perf_client/src/" - -DEPENDS += "libxil lwip xiltimer" - -do_configure:prepend() { - ( - cd ${S} - lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ - cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files - install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} - ) -} - -do_generate_app_data() { - # This script should also not rely on relative paths and such - cd ${S} - lopper ${DTS_FILE} -- bmcmake_metadata_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} hwcmake_metadata ${S} - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ -} -addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" - -do_install() { - install -d ${D}/${base_libdir}/firmware - # Note that we have to make the ELF executable for it to be stripped - install -m 0755 ${B}/lwip_tcp_perf_client* ${D}/${base_libdir}/firmware -} - -inherit image-artifact-names - -LWIP_TCP_PERF_CLIENT_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - -do_deploy() { - - # We need to deploy the stripped elf, hence why not doing it from ${D} - install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_client.elf ${DEPLOYDIR}/${LWIP_TCP_PERF_CLIENT_BASE_NAME}.elf - ln -sf ${LWIP_TCP_PERF_CLIENT_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_client.elf ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_client.bin - install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_client.bin ${DEPLOYDIR}/${LWIP_TCP_PERF_CLIENT_BASE_NAME}.bin - ln -sf ${LWIP_TCP_PERF_CLIENT_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} - -addtask deploy before do_build after do_package - -FILES:${PN} = "${base_libdir}/firmware/lwip_tcp_perf_client*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-server/lwip-tcp-perf-server_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-server/lwip-tcp-perf-server_2024.1.bb new file mode 100644 index 00000000..0acc4b8f --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-server/lwip-tcp-perf-server_2024.1.bb @@ -0,0 +1,48 @@ +inherit esw deploy python3native + +ESW_COMPONENT_SRC = "/lib/sw_apps/lwip_tcp_perf_server/src/" + +DEPENDS += "libxil lwip xiltimer" + +do_configure:prepend() { + ( + cd ${S} + lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ + cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files + install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} + ) +} + +do_generate_app_data() { + # This script should also not rely on relative paths and such + cd ${S} + lopper ${DTS_FILE} -- bmcmake_metadata_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} hwcmake_metadata ${S} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ +} +addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" + +do_install() { + install -d ${D}/${base_libdir}/firmware + # Note that we have to make the ELF executable for it to be stripped + install -m 0755 ${B}/lwip_tcp_perf_server* ${D}/${base_libdir}/firmware +} + +inherit image-artifact-names + +LWIP_TCP_PERF_SERVER_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" + +do_deploy() { + + # We need to deploy the stripped elf, hence why not doing it from ${D} + install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_server.elf ${DEPLOYDIR}/${LWIP_TCP_PERF_SERVER_BASE_NAME}.elf + ln -sf ${LWIP_TCP_PERF_SERVER_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf + ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_server.elf ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_server.bin + install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_server.bin ${DEPLOYDIR}/${LWIP_TCP_PERF_SERVER_BASE_NAME}.bin + ln -sf ${LWIP_TCP_PERF_SERVER_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin +} + +addtask deploy before do_build after do_package + +FILES:${PN} = "${base_libdir}/firmware/lwip_tcp_perf_server*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-server/lwip-tcp-perf-server_git.bb b/meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-server/lwip-tcp-perf-server_git.bb deleted file mode 100644 index 0acc4b8f..00000000 --- a/meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-server/lwip-tcp-perf-server_git.bb +++ /dev/null @@ -1,48 +0,0 @@ -inherit esw deploy python3native - -ESW_COMPONENT_SRC = "/lib/sw_apps/lwip_tcp_perf_server/src/" - -DEPENDS += "libxil lwip xiltimer" - -do_configure:prepend() { - ( - cd ${S} - lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ - cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files - install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} - ) -} - -do_generate_app_data() { - # This script should also not rely on relative paths and such - cd ${S} - lopper ${DTS_FILE} -- bmcmake_metadata_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} hwcmake_metadata ${S} - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ -} -addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" - -do_install() { - install -d ${D}/${base_libdir}/firmware - # Note that we have to make the ELF executable for it to be stripped - install -m 0755 ${B}/lwip_tcp_perf_server* ${D}/${base_libdir}/firmware -} - -inherit image-artifact-names - -LWIP_TCP_PERF_SERVER_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - -do_deploy() { - - # We need to deploy the stripped elf, hence why not doing it from ${D} - install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_server.elf ${DEPLOYDIR}/${LWIP_TCP_PERF_SERVER_BASE_NAME}.elf - ln -sf ${LWIP_TCP_PERF_SERVER_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_server.elf ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_server.bin - install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_server.bin ${DEPLOYDIR}/${LWIP_TCP_PERF_SERVER_BASE_NAME}.bin - ln -sf ${LWIP_TCP_PERF_SERVER_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} - -addtask deploy before do_build after do_package - -FILES:${PN} = "${base_libdir}/firmware/lwip_tcp_perf_server*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-client/lwip-udp-perf-client_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-client/lwip-udp-perf-client_2024.1.bb new file mode 100644 index 00000000..00a9eaa6 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-client/lwip-udp-perf-client_2024.1.bb @@ -0,0 +1,48 @@ +inherit esw deploy python3native + +ESW_COMPONENT_SRC = "/lib/sw_apps/lwip_udp_perf_client/src/" + +DEPENDS += "libxil lwip xiltimer" + +do_configure:prepend() { + ( + cd ${S} + lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ + cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files + install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} + ) +} + +do_generate_app_data() { + # This script should also not rely on relative paths and such + cd ${S} + lopper ${DTS_FILE} -- bmcmake_metadata_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} hwcmake_metadata ${S} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ +} +addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" + +do_install() { + install -d ${D}/${base_libdir}/firmware + # Note that we have to make the ELF executable for it to be stripped + install -m 0755 ${B}/lwip_udp_perf_client* ${D}/${base_libdir}/firmware +} + +inherit image-artifact-names + +LWIP_UDP_PERF_CLIENT_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" + +do_deploy() { + + # We need to deploy the stripped elf, hence why not doing it from ${D} + install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_client.elf ${DEPLOYDIR}/${LWIP_UDP_PERF_CLIENT_BASE_NAME}.elf + ln -sf ${LWIP_UDP_PERF_CLIENT_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf + ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_client.elf ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_client.bin + install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_client.bin ${DEPLOYDIR}/${LWIP_UDP_PERF_CLIENT_BASE_NAME}.bin + ln -sf ${LWIP_UDP_PERF_CLIENT_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin +} + +addtask deploy before do_build after do_package + +FILES:${PN} = "${base_libdir}/firmware/lwip_udp_perf_client*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-client/lwip-udp-perf-client_git.bb b/meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-client/lwip-udp-perf-client_git.bb deleted file mode 100644 index 00a9eaa6..00000000 --- a/meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-client/lwip-udp-perf-client_git.bb +++ /dev/null @@ -1,48 +0,0 @@ -inherit esw deploy python3native - -ESW_COMPONENT_SRC = "/lib/sw_apps/lwip_udp_perf_client/src/" - -DEPENDS += "libxil lwip xiltimer" - -do_configure:prepend() { - ( - cd ${S} - lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ - cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files - install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} - ) -} - -do_generate_app_data() { - # This script should also not rely on relative paths and such - cd ${S} - lopper ${DTS_FILE} -- bmcmake_metadata_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} hwcmake_metadata ${S} - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ -} -addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" - -do_install() { - install -d ${D}/${base_libdir}/firmware - # Note that we have to make the ELF executable for it to be stripped - install -m 0755 ${B}/lwip_udp_perf_client* ${D}/${base_libdir}/firmware -} - -inherit image-artifact-names - -LWIP_UDP_PERF_CLIENT_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - -do_deploy() { - - # We need to deploy the stripped elf, hence why not doing it from ${D} - install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_client.elf ${DEPLOYDIR}/${LWIP_UDP_PERF_CLIENT_BASE_NAME}.elf - ln -sf ${LWIP_UDP_PERF_CLIENT_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_client.elf ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_client.bin - install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_client.bin ${DEPLOYDIR}/${LWIP_UDP_PERF_CLIENT_BASE_NAME}.bin - ln -sf ${LWIP_UDP_PERF_CLIENT_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} - -addtask deploy before do_build after do_package - -FILES:${PN} = "${base_libdir}/firmware/lwip_udp_perf_client*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-server/lwip-udp-perf-server_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-server/lwip-udp-perf-server_2024.1.bb new file mode 100644 index 00000000..5f54caf9 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-server/lwip-udp-perf-server_2024.1.bb @@ -0,0 +1,48 @@ +inherit esw deploy python3native + +ESW_COMPONENT_SRC = "/lib/sw_apps/lwip_udp_perf_server/src/" + +DEPENDS += "libxil lwip xiltimer" + +do_configure:prepend() { + ( + cd ${S} + lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ + cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files + install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} + ) +} + +do_generate_app_data() { + # This script should also not rely on relative paths and such + cd ${S} + lopper ${DTS_FILE} -- bmcmake_metadata_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} hwcmake_metadata ${S} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ +} +addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" + +do_install() { + install -d ${D}/${base_libdir}/firmware + # Note that we have to make the ELF executable for it to be stripped + install -m 0755 ${B}/lwip_udp_perf_server* ${D}/${base_libdir}/firmware +} + +inherit image-artifact-names + +LWIP_UDP_PERF_SERVER_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" + +do_deploy() { + + # We need to deploy the stripped elf, hence why not doing it from ${D} + install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_server.elf ${DEPLOYDIR}/${LWIP_UDP_PERF_SERVER_BASE_NAME}.elf + ln -sf ${LWIP_UDP_PERF_SERVER_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf + ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_server.elf ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_server.bin + install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_server.bin ${DEPLOYDIR}/${LWIP_UDP_PERF_SERVER_BASE_NAME}.bin + ln -sf ${LWIP_UDP_PERF_SERVER_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin +} + +addtask deploy before do_build after do_package + +FILES:${PN} = "${base_libdir}/firmware/lwip_udp_perf_server*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-server/lwip-udp-perf-server_git.bb b/meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-server/lwip-udp-perf-server_git.bb deleted file mode 100644 index 5f54caf9..00000000 --- a/meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-server/lwip-udp-perf-server_git.bb +++ /dev/null @@ -1,48 +0,0 @@ -inherit esw deploy python3native - -ESW_COMPONENT_SRC = "/lib/sw_apps/lwip_udp_perf_server/src/" - -DEPENDS += "libxil lwip xiltimer" - -do_configure:prepend() { - ( - cd ${S} - lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ - cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files - install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} - ) -} - -do_generate_app_data() { - # This script should also not rely on relative paths and such - cd ${S} - lopper ${DTS_FILE} -- bmcmake_metadata_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} hwcmake_metadata ${S} - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ -} -addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" - -do_install() { - install -d ${D}/${base_libdir}/firmware - # Note that we have to make the ELF executable for it to be stripped - install -m 0755 ${B}/lwip_udp_perf_server* ${D}/${base_libdir}/firmware -} - -inherit image-artifact-names - -LWIP_UDP_PERF_SERVER_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - -do_deploy() { - - # We need to deploy the stripped elf, hence why not doing it from ${D} - install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_server.elf ${DEPLOYDIR}/${LWIP_UDP_PERF_SERVER_BASE_NAME}.elf - ln -sf ${LWIP_UDP_PERF_SERVER_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_server.elf ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_server.bin - install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_server.bin ${DEPLOYDIR}/${LWIP_UDP_PERF_SERVER_BASE_NAME}.bin - ln -sf ${LWIP_UDP_PERF_SERVER_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} - -addtask deploy before do_build after do_package - -FILES:${PN} = "${base_libdir}/firmware/lwip_udp_perf_server*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/memory-tests/memory-tests_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/memory-tests/memory-tests_2024.1.bb new file mode 100644 index 00000000..1ece5a8c --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-applications/memory-tests/memory-tests_2024.1.bb @@ -0,0 +1,41 @@ +inherit esw deploy + +ESW_COMPONENT_SRC = "/lib/sw_apps/memory_tests/src/" + +DEPENDS += "libxil xiltimer" + +inherit python3native + +do_configure:prepend() { + ( + cd ${S} + lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} memtest + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ + cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files + install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} + ) +} + +do_install() { + install -d ${D}/${base_libdir}/firmware + # Note that we have to make the ELF executable for it to be stripped + install -m 0755 ${B}/memory_tests* ${D}/${base_libdir}/firmware +} + +inherit image-artifact-names + +MEMORY_TESTS_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" + +do_deploy() { + + # We need to deploy the stripped elf, hence why not doing it from ${D} + install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/memory_tests.elf ${DEPLOYDIR}/${MEMORY_TESTS_BASE_NAME}.elf + ln -sf ${MEMORY_TESTS_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf + ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/memory_tests.elf ${WORKDIR}/package/${base_libdir}/firmware/memory_tests.bin + install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/memory_tests.bin ${DEPLOYDIR}/${MEMORY_TESTS_BASE_NAME}.bin + ln -sf ${MEMORY_TESTS_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin +} + +addtask deploy before do_build after do_package + +FILES:${PN} = "${base_libdir}/firmware/memory_tests*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/memory-tests/memory-tests_git.bb b/meta-xilinx-standalone-experimental/recipes-applications/memory-tests/memory-tests_git.bb deleted file mode 100644 index 1ece5a8c..00000000 --- a/meta-xilinx-standalone-experimental/recipes-applications/memory-tests/memory-tests_git.bb +++ /dev/null @@ -1,41 +0,0 @@ -inherit esw deploy - -ESW_COMPONENT_SRC = "/lib/sw_apps/memory_tests/src/" - -DEPENDS += "libxil xiltimer" - -inherit python3native - -do_configure:prepend() { - ( - cd ${S} - lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} memtest - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ - cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files - install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} - ) -} - -do_install() { - install -d ${D}/${base_libdir}/firmware - # Note that we have to make the ELF executable for it to be stripped - install -m 0755 ${B}/memory_tests* ${D}/${base_libdir}/firmware -} - -inherit image-artifact-names - -MEMORY_TESTS_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - -do_deploy() { - - # We need to deploy the stripped elf, hence why not doing it from ${D} - install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/memory_tests.elf ${DEPLOYDIR}/${MEMORY_TESTS_BASE_NAME}.elf - ln -sf ${MEMORY_TESTS_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/memory_tests.elf ${WORKDIR}/package/${base_libdir}/firmware/memory_tests.bin - install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/memory_tests.bin ${DEPLOYDIR}/${MEMORY_TESTS_BASE_NAME}.bin - ln -sf ${MEMORY_TESTS_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} - -addtask deploy before do_build after do_package - -FILES:${PN} = "${base_libdir}/firmware/memory_tests*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/peripheral-tests/peripheral-tests_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/peripheral-tests/peripheral-tests_2024.1.bb new file mode 100644 index 00000000..b6b15d5a --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-applications/peripheral-tests/peripheral-tests_2024.1.bb @@ -0,0 +1,62 @@ +inherit esw deploy + +ESW_COMPONENT_SRC = "/lib/sw_apps/peripheral_tests/src/" + +DEPENDS += "libxil xiltimer" + +inherit python3native + +do_configure:prepend() { + ( + cd ${S} + lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ + cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files + install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} + ) +} + +python do_generate_app_data() { + import glob, subprocess, os + + system_dt = glob.glob(d.getVar('DTS_FILE')) + srcdir = glob.glob(d.getVar('S')) + src_dir = glob.glob(d.getVar('OECMAKE_SOURCEPATH')) + machine = d.getVar('ESW_MACHINE') + + if len(system_dt) == 0: + bb.error("Couldn't find device tree %s" % d.getVar('DTS_FILE')) + + if len(src_dir) == 0: + bb.error("Couldn't find source dir %s" % d.getVar('OECMAKE_SOURCEPATH')) + + driver_name = d.getVar('REQUIRED_MACHINE_FEATURES') + command = ["lopper"] + ["-f"] + ["-O"] + [src_dir[0]] + [system_dt[0]] + ["--"] + ["baremetal_gentestapp_xlnx"] + [machine] + [srcdir[0]] + subprocess.run(command, check = True) +} +addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" + +PERIPHERAL_TEST_APP_IMAGE_NAME ??= "${BPN}" + +inherit image-artifact-names + +PERIPHERAL_TEST_BASE_NAME ?= "${PERIPHERAL_TEST_APP_IMAGE_NAME}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" + +ESW_COMPONENT ??= "peripheral_tests.elf" + +do_compile:append() { + ${OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/peripheral_tests.bin +} + +do_install() { + : +} + +do_deploy() { + install -Dm 0644 ${B}/${ESW_COMPONENT} ${DEPLOYDIR}/${PERIPHERAL_TEST_BASE_NAME}.elf + ln -sf ${PERIPHERAL_TEST_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf + install -m 0644 ${B}/peripheral_tests.bin ${DEPLOYDIR}/${PERIPHERAL_TEST_BASE_NAME}.bin + ln -sf ${PERIPHERAL_TEST_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin +} +addtask deploy before do_build after do_install diff --git a/meta-xilinx-standalone-experimental/recipes-applications/peripheral-tests/peripheral-tests_git.bb b/meta-xilinx-standalone-experimental/recipes-applications/peripheral-tests/peripheral-tests_git.bb deleted file mode 100644 index b6b15d5a..00000000 --- a/meta-xilinx-standalone-experimental/recipes-applications/peripheral-tests/peripheral-tests_git.bb +++ /dev/null @@ -1,62 +0,0 @@ -inherit esw deploy - -ESW_COMPONENT_SRC = "/lib/sw_apps/peripheral_tests/src/" - -DEPENDS += "libxil xiltimer" - -inherit python3native - -do_configure:prepend() { - ( - cd ${S} - lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ - cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files - install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} - ) -} - -python do_generate_app_data() { - import glob, subprocess, os - - system_dt = glob.glob(d.getVar('DTS_FILE')) - srcdir = glob.glob(d.getVar('S')) - src_dir = glob.glob(d.getVar('OECMAKE_SOURCEPATH')) - machine = d.getVar('ESW_MACHINE') - - if len(system_dt) == 0: - bb.error("Couldn't find device tree %s" % d.getVar('DTS_FILE')) - - if len(src_dir) == 0: - bb.error("Couldn't find source dir %s" % d.getVar('OECMAKE_SOURCEPATH')) - - driver_name = d.getVar('REQUIRED_MACHINE_FEATURES') - command = ["lopper"] + ["-f"] + ["-O"] + [src_dir[0]] + [system_dt[0]] + ["--"] + ["baremetal_gentestapp_xlnx"] + [machine] + [srcdir[0]] - subprocess.run(command, check = True) -} -addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" - -PERIPHERAL_TEST_APP_IMAGE_NAME ??= "${BPN}" - -inherit image-artifact-names - -PERIPHERAL_TEST_BASE_NAME ?= "${PERIPHERAL_TEST_APP_IMAGE_NAME}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - -ESW_COMPONENT ??= "peripheral_tests.elf" - -do_compile:append() { - ${OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/peripheral_tests.bin -} - -do_install() { - : -} - -do_deploy() { - install -Dm 0644 ${B}/${ESW_COMPONENT} ${DEPLOYDIR}/${PERIPHERAL_TEST_BASE_NAME}.elf - ln -sf ${PERIPHERAL_TEST_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - install -m 0644 ${B}/peripheral_tests.bin ${DEPLOYDIR}/${PERIPHERAL_TEST_BASE_NAME}.bin - ln -sf ${PERIPHERAL_TEST_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} -addtask deploy before do_build after do_install diff --git a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/esw-conf_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/esw-conf_2024.1.bb new file mode 100644 index 00000000..e6cf1d8b --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/esw-conf_2024.1.bb @@ -0,0 +1,34 @@ +# Can't depend on esw since this is needed for setup! +inherit xlnx-embeddedsw + +# We need to override the inherit +require conf/dtb-embeddedsw.inc + +S = "${WORKDIR}/git" +B = "${WORKDIR}/build" + +INHIBIT_DEFAULT_DEPS = "1" + +# Installing this recipe should install the lopper tools and such +DEPENDS = "lopper xilinx-lops" + +COMPATIBLE_HOST:forcevariable = ".*" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/" + +do_configure[noexec] = '1' +do_compile[noexec] = '1' + +do_install() { + # The configuration step requires only the yaml files, make them + # available to the SDK + cd ${S}${ESW_COMPONENT_SRC} + for each in `find . -name *.yaml` ; do + mkdir -p $(dirname ${D}/${datadir}/embeddedsw${ESW_COMPONENT_SRC}$each) + install -m 0644 $each ${D}/${datadir}/embeddedsw${ESW_COMPONENT_SRC}$each + done +} + +FILES:${PN} += "${datadir}/embeddedsw" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/esw-conf_git.bb b/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/esw-conf_git.bb deleted file mode 100644 index e6cf1d8b..00000000 --- a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/esw-conf_git.bb +++ /dev/null @@ -1,34 +0,0 @@ -# Can't depend on esw since this is needed for setup! -inherit xlnx-embeddedsw - -# We need to override the inherit -require conf/dtb-embeddedsw.inc - -S = "${WORKDIR}/git" -B = "${WORKDIR}/build" - -INHIBIT_DEFAULT_DEPS = "1" - -# Installing this recipe should install the lopper tools and such -DEPENDS = "lopper xilinx-lops" - -COMPATIBLE_HOST:forcevariable = ".*" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/" - -do_configure[noexec] = '1' -do_compile[noexec] = '1' - -do_install() { - # The configuration step requires only the yaml files, make them - # available to the SDK - cd ${S}${ESW_COMPONENT_SRC} - for each in `find . -name *.yaml` ; do - mkdir -p $(dirname ${D}/${datadir}/embeddedsw${ESW_COMPONENT_SRC}$each) - install -m 0644 $each ${D}/${datadir}/embeddedsw${ESW_COMPONENT_SRC}$each - done -} - -FILES:${PN} += "${datadir}/embeddedsw" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/fsbl-firmware_2024.1.bbappend b/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/fsbl-firmware_2024.1.bbappend new file mode 100644 index 00000000..d40f3cdb --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/fsbl-firmware_2024.1.bbappend @@ -0,0 +1,66 @@ +# We WANT to default to this version when available +DEFAULT_PREFERENCE = "100" + +# Reset this +SRC_URI = "${EMBEDDEDSW_SRCURI}" + +inherit esw + +# Not compatible with Zynq +COMPATIBLE_MACHINE:zynq = "none" +COMPATIBLE_MACHINE:microblaze = "none" + +ESW_COMPONENT_SRC = "/lib/sw_apps/undefined/src" +ESW_COMPONENT_SRC:zynq = "/lib/sw_apps/zynq_fsbl/src" +ESW_COMPONENT_SRC:zynqmp = "/lib/sw_apps/zynqmp_fsbl/src" + +DEPENDS += "xilstandalone xiltimer xilffs xilsecure xilpm" + +python() { + psu_init_path = d.getVar('PSU_INIT_PATH') + if not psu_init_path: + psu_init_path = os.path.dirname(d.getVar('SYSTEM_DTFILE')) + + psu_init_c = os.path.join(psu_init_path, 'psu_init.c') + psu_init_h = os.path.join(psu_init_path, 'psu_init.h') + + add_path = False + if os.path.exists(psu_init_c): + d.appendVar('SRC_URI', ' file://psu_init.c') + add_path = True + + if os.path.exists(psu_init_h): + d.appendVar('SRC_URI', ' file://psu_init.h') + add_path = True + + if add_path: + d.prependVar('FILESEXTRAPATHS', '%s:' % psu_init_path) +} + +do_configure:prepend() { + if [ -e ${WORKDIR}/psu_init.c ]; then + install -m 0644 ${WORKDIR}/psu_init.c ${S}/${ESW_COMPONENT_SRC} + else + bbwarn "Using the default psu_init.c, this may not work correctly." + fi + + if [ -e ${WORKDIR}/psu_init.h ]; then + install -m 0644 ${WORKDIR}/psu_init.h ${S}/${ESW_COMPONENT_SRC} + else + bbwarn "Using the default psu_init.h, this may not work correctly." + fi + install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} +} + +do_install() { + : +} + +addtask deploy before do_build after do_package + +ESW_COMPONENT = "undefined" +ESW_COMPONENT:zynq = "zynq_fsbl.elf" +ESW_COMPONENT:zynqmp = "zynqmp_fsbl.elf" + +CFLAGS:append:aarch64 = " -DARMA53_64" +CFLAGS:append:armv7r = " -DARMR5" diff --git a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/fsbl-firmware_git.bbappend b/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/fsbl-firmware_git.bbappend deleted file mode 100644 index d40f3cdb..00000000 --- a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/fsbl-firmware_git.bbappend +++ /dev/null @@ -1,66 +0,0 @@ -# We WANT to default to this version when available -DEFAULT_PREFERENCE = "100" - -# Reset this -SRC_URI = "${EMBEDDEDSW_SRCURI}" - -inherit esw - -# Not compatible with Zynq -COMPATIBLE_MACHINE:zynq = "none" -COMPATIBLE_MACHINE:microblaze = "none" - -ESW_COMPONENT_SRC = "/lib/sw_apps/undefined/src" -ESW_COMPONENT_SRC:zynq = "/lib/sw_apps/zynq_fsbl/src" -ESW_COMPONENT_SRC:zynqmp = "/lib/sw_apps/zynqmp_fsbl/src" - -DEPENDS += "xilstandalone xiltimer xilffs xilsecure xilpm" - -python() { - psu_init_path = d.getVar('PSU_INIT_PATH') - if not psu_init_path: - psu_init_path = os.path.dirname(d.getVar('SYSTEM_DTFILE')) - - psu_init_c = os.path.join(psu_init_path, 'psu_init.c') - psu_init_h = os.path.join(psu_init_path, 'psu_init.h') - - add_path = False - if os.path.exists(psu_init_c): - d.appendVar('SRC_URI', ' file://psu_init.c') - add_path = True - - if os.path.exists(psu_init_h): - d.appendVar('SRC_URI', ' file://psu_init.h') - add_path = True - - if add_path: - d.prependVar('FILESEXTRAPATHS', '%s:' % psu_init_path) -} - -do_configure:prepend() { - if [ -e ${WORKDIR}/psu_init.c ]; then - install -m 0644 ${WORKDIR}/psu_init.c ${S}/${ESW_COMPONENT_SRC} - else - bbwarn "Using the default psu_init.c, this may not work correctly." - fi - - if [ -e ${WORKDIR}/psu_init.h ]; then - install -m 0644 ${WORKDIR}/psu_init.h ${S}/${ESW_COMPONENT_SRC} - else - bbwarn "Using the default psu_init.h, this may not work correctly." - fi - install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} -} - -do_install() { - : -} - -addtask deploy before do_build after do_package - -ESW_COMPONENT = "undefined" -ESW_COMPONENT:zynq = "zynq_fsbl.elf" -ESW_COMPONENT:zynqmp = "zynqmp_fsbl.elf" - -CFLAGS:append:aarch64 = " -DARMA53_64" -CFLAGS:append:armv7r = " -DARMR5" diff --git a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/plm-firmware_2024.1.bbappend b/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/plm-firmware_2024.1.bbappend new file mode 100644 index 00000000..cc6d757f --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/plm-firmware_2024.1.bbappend @@ -0,0 +1,28 @@ +# We WANT to default to this version when available +DEFAULT_PREFERENCE = "100" + +# Reset this +SRC_URI = "${EMBEDDEDSW_SRCURI}" + +inherit esw + +ESW_COMPONENT_SRC = "/lib/sw_apps/versal_plm/src/" + +ESW_COMPONENT = "versal_plm.elf" + +do_configure:prepend() { + ( + cd ${S} + install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} + ) +} + +do_compile:append() { + ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin +} + +do_install() { + : +} + +DEPENDS += "xilstandalone xiltimer xilffs xilpdi xilplmi xilloader xilpm xilsecure xilsem xilnvm" diff --git a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/plm-firmware_git.bbappend b/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/plm-firmware_git.bbappend deleted file mode 100644 index cc6d757f..00000000 --- a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/plm-firmware_git.bbappend +++ /dev/null @@ -1,28 +0,0 @@ -# We WANT to default to this version when available -DEFAULT_PREFERENCE = "100" - -# Reset this -SRC_URI = "${EMBEDDEDSW_SRCURI}" - -inherit esw - -ESW_COMPONENT_SRC = "/lib/sw_apps/versal_plm/src/" - -ESW_COMPONENT = "versal_plm.elf" - -do_configure:prepend() { - ( - cd ${S} - install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} - ) -} - -do_compile:append() { - ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin -} - -do_install() { - : -} - -DEPENDS += "xilstandalone xiltimer xilffs xilpdi xilplmi xilloader xilpm xilsecure xilsem xilnvm" diff --git a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/pmu-firmware_2024.1.bbappend b/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/pmu-firmware_2024.1.bbappend new file mode 100644 index 00000000..b5908d46 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/pmu-firmware_2024.1.bbappend @@ -0,0 +1,29 @@ +# We WANT to default to this version when available +DEFAULT_PREFERENCE = "100" + +# Reset this +SRC_URI = "${EMBEDDEDSW_SRCURI}" + +inherit esw + +ESW_COMPONENT_SRC = "/lib/sw_apps/zynqmp_pmufw/src" + +ESW_COMPONENT = "zynqmp_pmufw.elf" + + +do_configure:prepend() { + ( + cd ${S} + install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} + ) +} + +do_compile:append() { + ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin +} + +do_install() { + : +} + +DEPENDS += "xilstandalone xiltimer xilfpga xilskey" diff --git a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/pmu-firmware_git.bbappend b/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/pmu-firmware_git.bbappend deleted file mode 100644 index b5908d46..00000000 --- a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/pmu-firmware_git.bbappend +++ /dev/null @@ -1,29 +0,0 @@ -# We WANT to default to this version when available -DEFAULT_PREFERENCE = "100" - -# Reset this -SRC_URI = "${EMBEDDEDSW_SRCURI}" - -inherit esw - -ESW_COMPONENT_SRC = "/lib/sw_apps/zynqmp_pmufw/src" - -ESW_COMPONENT = "zynqmp_pmufw.elf" - - -do_configure:prepend() { - ( - cd ${S} - install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} - ) -} - -do_compile:append() { - ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin -} - -do_install() { - : -} - -DEPENDS += "xilstandalone xiltimer xilfpga xilskey" diff --git a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/psm-firmware_2024.1.bbappend b/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/psm-firmware_2024.1.bbappend new file mode 100644 index 00000000..c4953ce7 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/psm-firmware_2024.1.bbappend @@ -0,0 +1,28 @@ +# We WANT to default to this version when available +DEFAULT_PREFERENCE = "100" + +# Reset this +SRC_URI = "${EMBEDDEDSW_SRCURI}" + +inherit esw + +ESW_COMPONENT_SRC = "/lib/sw_apps/versal_psmfw/src/" + +ESW_COMPONENT = "versal_psmfw.elf" + +do_configure:prepend() { + ( + cd ${S} + install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} + ) +} + +do_compile:append() { + ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin +} + +do_install() { + : +} + +DEPENDS += "xilstandalone libxil xiltimer" diff --git a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/psm-firmware_git.bbappend b/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/psm-firmware_git.bbappend deleted file mode 100644 index c4953ce7..00000000 --- a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/psm-firmware_git.bbappend +++ /dev/null @@ -1,28 +0,0 @@ -# We WANT to default to this version when available -DEFAULT_PREFERENCE = "100" - -# Reset this -SRC_URI = "${EMBEDDEDSW_SRCURI}" - -inherit esw - -ESW_COMPONENT_SRC = "/lib/sw_apps/versal_psmfw/src/" - -ESW_COMPONENT = "versal_psmfw.elf" - -do_configure:prepend() { - ( - cd ${S} - install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} - ) -} - -do_compile:append() { - ${MB_OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/${ESW_COMPONENT}.bin -} - -do_install() { - : -} - -DEPENDS += "xilstandalone libxil xiltimer" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/avbuf_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/avbuf_2024.1.bb new file mode 100644 index 00000000..7edd2d9d --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/avbuf_2024.1.bb @@ -0,0 +1,10 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "avbuf" + +inherit esw + +DEPENDS += "xilstandalone" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/avbuf/src/" +ESW_COMPONENT_NAME = "libavbuf.a" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/avbuf_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/avbuf_git.bb deleted file mode 100644 index 7edd2d9d..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/avbuf_git.bb +++ /dev/null @@ -1,10 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "avbuf" - -inherit esw - -DEPENDS += "xilstandalone" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/avbuf/src/" -ESW_COMPONENT_NAME = "libavbuf.a" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axicdma-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axicdma-example_2024.1.bb new file mode 100644 index 00000000..1846b291 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/axicdma-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "axicdma" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axicdma/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axicdma-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axicdma-example_git.bb deleted file mode 100644 index 1846b291..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/axicdma-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "axicdma" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axicdma/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axicdma_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axicdma_2024.1.bb new file mode 100644 index 00000000..47111dc5 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/axicdma_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "axicdma" + +inherit esw python3native + +DEPENDS += "xilstandalone" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axicdma/src/" +ESW_COMPONENT_NAME = "libaxicdma.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axicdma_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axicdma_git.bb deleted file mode 100644 index 47111dc5..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/axicdma_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "axicdma" - -inherit esw python3native - -DEPENDS += "xilstandalone" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axicdma/src/" -ESW_COMPONENT_NAME = "libaxicdma.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axidma-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axidma-example_2024.1.bb new file mode 100644 index 00000000..68a26f45 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/axidma-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "axidma" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axidma/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axidma-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axidma-example_git.bb deleted file mode 100644 index 68a26f45..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/axidma-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "axidma" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axidma/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axidma_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axidma_2024.1.bb new file mode 100644 index 00000000..c385d13f --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/axidma_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "axidma" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axidma/src/" +ESW_COMPONENT_NAME = "libaxidma.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axidma_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axidma_git.bb deleted file mode 100644 index c385d13f..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/axidma_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "axidma" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axidma/src/" -ESW_COMPONENT_NAME = "libaxidma.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axiethernet-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axiethernet-example_2024.1.bb new file mode 100644 index 00000000..04c2c151 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/axiethernet-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "axiethernet" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axiethernet/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axiethernet-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axiethernet-example_git.bb deleted file mode 100644 index 04c2c151..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/axiethernet-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "axiethernet" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axiethernet/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axiethernet_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axiethernet_2024.1.bb new file mode 100644 index 00000000..0b635859 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/axiethernet_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "axiethernet" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axiethernet/src/" +ESW_COMPONENT_NAME = "libaxiethernet.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axiethernet_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axiethernet_git.bb deleted file mode 100644 index 0b635859..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/axiethernet_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "axiethernet" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axiethernet/src/" -ESW_COMPONENT_NAME = "libaxiethernet.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axipmon-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axipmon-example_2024.1.bb new file mode 100644 index 00000000..4aa716e7 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/axipmon-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "axipmon" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axipmon/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axipmon-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axipmon-example_git.bb deleted file mode 100644 index 4aa716e7..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/axipmon-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "axipmon" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axipmon/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axipmon_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axipmon_2024.1.bb new file mode 100644 index 00000000..ff2eae91 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/axipmon_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "axipmon" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axipmon/src/" +ESW_COMPONENT_NAME = "libaxipmon.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axipmon_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axipmon_git.bb deleted file mode 100644 index ff2eae91..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/axipmon_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "axipmon" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axipmon/src/" -ESW_COMPONENT_NAME = "libaxipmon.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axis-switch_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axis-switch_2024.1.bb new file mode 100644 index 00000000..b34dedb0 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/axis-switch_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "axis-switch" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axis_switch/src/" +ESW_COMPONENT_NAME = "libaxis_switch.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axis-switch_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axis-switch_git.bb deleted file mode 100644 index b34dedb0..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/axis-switch_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "axis-switch" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axis_switch/src/" -ESW_COMPONENT_NAME = "libaxis_switch.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axivdma-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axivdma-example_2024.1.bb new file mode 100644 index 00000000..2866c02b --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/axivdma-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "axivdma" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axivdma/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axivdma-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axivdma-example_git.bb deleted file mode 100644 index 2866c02b..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/axivdma-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "axivdma" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axivdma/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axivdma_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axivdma_2024.1.bb new file mode 100644 index 00000000..15268629 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/axivdma_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "axivdma" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axivdma/src/" +ESW_COMPONENT_NAME = "libaxivdma.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/axivdma_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/axivdma_git.bb deleted file mode 100644 index 15268629..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/axivdma_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "axivdma" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/axivdma/src/" -ESW_COMPONENT_NAME = "libaxivdma.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/bram-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/bram-example_2024.1.bb new file mode 100644 index 00000000..a3145467 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/bram-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "bram" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/bram/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/bram-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/bram-example_git.bb deleted file mode 100644 index a3145467..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/bram-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "bram" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/bram/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/bram_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/bram_2024.1.bb new file mode 100644 index 00000000..3c81c619 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/bram_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "bram" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/bram/src/" +ESW_COMPONENT_NAME = "libbram.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/bram_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/bram_git.bb deleted file mode 100644 index 3c81c619..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/bram_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "bram" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/bram/src/" -ESW_COMPONENT_NAME = "libbram.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/can-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/can-example_2024.1.bb new file mode 100644 index 00000000..115852fa --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/can-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "can" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/can/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/can-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/can-example_git.bb deleted file mode 100644 index 115852fa..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/can-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "can" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/can/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/can_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/can_2024.1.bb new file mode 100644 index 00000000..eb7fc473 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/can_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "can" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/can/src/" +ESW_COMPONENT_NAME = "libcan.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/can_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/can_git.bb deleted file mode 100644 index eb7fc473..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/can_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "can" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/can/src/" -ESW_COMPONENT_NAME = "libcan.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/canfd-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/canfd-example_2024.1.bb new file mode 100644 index 00000000..84276569 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/canfd-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "canfd" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/canfd/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/canfd-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/canfd-example_git.bb deleted file mode 100644 index 84276569..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/canfd-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "canfd" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/canfd/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/canfd_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/canfd_2024.1.bb new file mode 100644 index 00000000..5f2e6ea8 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/canfd_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "canfd" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/canfd/src/" +ESW_COMPONENT_NAME = "libcanfd.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/canfd_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/canfd_git.bb deleted file mode 100644 index 5f2e6ea8..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/canfd_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "canfd" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/canfd/src/" -ESW_COMPONENT_NAME = "libcanfd.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/canps-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/canps-example_2024.1.bb new file mode 100644 index 00000000..574dc563 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/canps-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "canps" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/canps/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/canps-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/canps-example_git.bb deleted file mode 100644 index 574dc563..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/canps-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "canps" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/canps/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/canps_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/canps_2024.1.bb new file mode 100644 index 00000000..c9f61cd2 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/canps_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "canps" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/canps/src/" +ESW_COMPONENT_NAME = "libcanps.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/canps_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/canps_git.bb deleted file mode 100644 index c9f61cd2..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/canps_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "canps" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/canps/src/" -ESW_COMPONENT_NAME = "libcanps.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/cframe_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/cframe_2024.1.bb new file mode 100644 index 00000000..6ffdf85d --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/cframe_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "cframe" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/cframe/src/" +ESW_COMPONENT_NAME = "libcframe.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/cframe_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/cframe_git.bb deleted file mode 100644 index 6ffdf85d..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/cframe_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "cframe" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/cframe/src/" -ESW_COMPONENT_NAME = "libcframe.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/cfupmc_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/cfupmc_2024.1.bb new file mode 100644 index 00000000..3cb675bc --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/cfupmc_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "cfupmc" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/cfupmc/src/" +ESW_COMPONENT_NAME = "libcfupmc.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/cfupmc_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/cfupmc_git.bb deleted file mode 100644 index 3cb675bc..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/cfupmc_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "cfupmc" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/cfupmc/src/" -ESW_COMPONENT_NAME = "libcfupmc.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/clk-wiz_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/clk-wiz_2024.1.bb new file mode 100644 index 00000000..ae0453a1 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/clk-wiz_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "clk-wiz" + +inherit esw python3native + +DEPENDS += "xilstandalone" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/clk_wiz/src/" +ESW_COMPONENT_NAME = "libclk_wiz.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/clk-wiz_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/clk-wiz_git.bb deleted file mode 100644 index ae0453a1..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/clk-wiz_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "clk-wiz" - -inherit esw python3native - -DEPENDS += "xilstandalone" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/clk_wiz/src/" -ESW_COMPONENT_NAME = "libclk_wiz.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/clockps-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/clockps-example_2024.1.bb new file mode 100644 index 00000000..f9c5bce6 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/clockps-example_2024.1.bb @@ -0,0 +1,40 @@ +inherit esw deploy features_check + +ESW_COMPONENT_SRC = "XilinxProcessorIPLib/drivers/clockps/examples/" + +REQUIRED_MACHINE_FEATURES = "clockps" + +DEPENDS += "libxil xiltimer resetps" + +inherit python3native + +do_configure:prepend() { + ( + cd ${S} + lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ + ) +} + +CLOCKPS_EX_IMAGE_NAME ??= "${BPN}" + +inherit image-artifact-names + +CLOCKPS_EX_NAME ?= "${CLOCKPS_EX_IMAGE_NAME}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" + +ESW_COMPONENT ??= "*.elf" + +addtask deploy before do_build after do_install + +do_install() { + install -d ${D}/${base_libdir}/firmware + install -m 0755 ${B}/*.elf ${D}/${base_libdir}/firmware +} + +do_deploy() { + install -d ${DEPLOYDIR}/${BPN}/ + install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/*.elf ${DEPLOYDIR}/${BPN}/ +} +addtask deploy before do_build after do_package + +FILES:${PN} = "${base_libdir}/firmware/*.elf" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/clockps-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/clockps-example_git.bb deleted file mode 100644 index f9c5bce6..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/clockps-example_git.bb +++ /dev/null @@ -1,40 +0,0 @@ -inherit esw deploy features_check - -ESW_COMPONENT_SRC = "XilinxProcessorIPLib/drivers/clockps/examples/" - -REQUIRED_MACHINE_FEATURES = "clockps" - -DEPENDS += "libxil xiltimer resetps" - -inherit python3native - -do_configure:prepend() { - ( - cd ${S} - lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ - ) -} - -CLOCKPS_EX_IMAGE_NAME ??= "${BPN}" - -inherit image-artifact-names - -CLOCKPS_EX_NAME ?= "${CLOCKPS_EX_IMAGE_NAME}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - -ESW_COMPONENT ??= "*.elf" - -addtask deploy before do_build after do_install - -do_install() { - install -d ${D}/${base_libdir}/firmware - install -m 0755 ${B}/*.elf ${D}/${base_libdir}/firmware -} - -do_deploy() { - install -d ${DEPLOYDIR}/${BPN}/ - install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/*.elf ${DEPLOYDIR}/${BPN}/ -} -addtask deploy before do_build after do_package - -FILES:${PN} = "${base_libdir}/firmware/*.elf" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/clockps_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/clockps_2024.1.bb new file mode 100644 index 00000000..3a464480 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/clockps_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "clockps" + +inherit esw + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/clockps/src/" +ESW_COMPONENT_NAME = "libclockps.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/clockps_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/clockps_git.bb deleted file mode 100644 index 3a464480..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/clockps_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "clockps" - -inherit esw - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/clockps/src/" -ESW_COMPONENT_NAME = "libclockps.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/common_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/common_2024.1.bb new file mode 100644 index 00000000..40d2a1ae --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/common_2024.1.bb @@ -0,0 +1,25 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "common" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +PACKAGECONFIG ?= "${@bb.utils.contains("MACHINE_FEATURES", "clockps", "clockps", "", d)} \ + ${@bb.utils.contains("MACHINE_FEATURES", "scugic", "scugic", "", d)} \ + ${@bb.utils.contains("MACHINE_FEATURES", "intc", "intc", "", d)}" +PACKAGECONFIG[clockps] = "${RECIPE_SYSROOT}/usr/lib/libclockps.a,,clockps,," +PACKAGECONFIG[scugic] = "${RECIPE_SYSROOT}/usr/lib/libscugic.a,,scugic,," +PACKAGECONFIG[intc] = "${RECIPE_SYSROOT}/usr/lib/libintc.a,,intc,," + +ESW_COMPONENT_SRC = "/lib/bsp/standalone/src/common/intr/" +ESW_COMPONENT_NAME = "libcommon.a" + +do_configure:prepend() { + LOPPER_DTC_FLAGS="-b 0 -@" lopper ${DTS_FILE} -- baremetalconfig_xlnx.py ${ESW_MACHINE} ${S}/XilinxProcessorIPLib/drivers/intc/src/ + LOPPER_DTC_FLAGS="-b 0 -@" lopper ${DTS_FILE} -- baremetalconfig_xlnx.py ${ESW_MACHINE} ${S}/XilinxProcessorIPLib/drivers/scugic/src/ + if [ -f *.cmake ]; then + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ + fi +} diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/common_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/common_git.bb deleted file mode 100644 index 40d2a1ae..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/common_git.bb +++ /dev/null @@ -1,25 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "common" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -PACKAGECONFIG ?= "${@bb.utils.contains("MACHINE_FEATURES", "clockps", "clockps", "", d)} \ - ${@bb.utils.contains("MACHINE_FEATURES", "scugic", "scugic", "", d)} \ - ${@bb.utils.contains("MACHINE_FEATURES", "intc", "intc", "", d)}" -PACKAGECONFIG[clockps] = "${RECIPE_SYSROOT}/usr/lib/libclockps.a,,clockps,," -PACKAGECONFIG[scugic] = "${RECIPE_SYSROOT}/usr/lib/libscugic.a,,scugic,," -PACKAGECONFIG[intc] = "${RECIPE_SYSROOT}/usr/lib/libintc.a,,intc,," - -ESW_COMPONENT_SRC = "/lib/bsp/standalone/src/common/intr/" -ESW_COMPONENT_NAME = "libcommon.a" - -do_configure:prepend() { - LOPPER_DTC_FLAGS="-b 0 -@" lopper ${DTS_FILE} -- baremetalconfig_xlnx.py ${ESW_MACHINE} ${S}/XilinxProcessorIPLib/drivers/intc/src/ - LOPPER_DTC_FLAGS="-b 0 -@" lopper ${DTS_FILE} -- baremetalconfig_xlnx.py ${ESW_MACHINE} ${S}/XilinxProcessorIPLib/drivers/scugic/src/ - if [ -f *.cmake ]; then - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ - fi -} diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/coresightps-dcc_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/coresightps-dcc_2024.1.bb new file mode 100644 index 00000000..9110b51e --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/coresightps-dcc_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "coresightps-dcc" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/coresightps_dcc/src/" +ESW_COMPONENT_NAME = "libcoresightps_dcc.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/coresightps-dcc_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/coresightps-dcc_git.bb deleted file mode 100644 index 9110b51e..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/coresightps-dcc_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "coresightps-dcc" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/coresightps_dcc/src/" -ESW_COMPONENT_NAME = "libcoresightps_dcc.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/csudma-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/csudma-example_2024.1.bb new file mode 100644 index 00000000..5706967a --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/csudma-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "csudma" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/csudma/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/csudma-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/csudma-example_git.bb deleted file mode 100644 index 5706967a..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/csudma-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "csudma" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/csudma/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/csudma_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/csudma_2024.1.bb new file mode 100644 index 00000000..8283ce8d --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/csudma_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "csudma" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/csudma/src/" +ESW_COMPONENT_NAME = "libcsudma.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/csudma_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/csudma_git.bb deleted file mode 100644 index 8283ce8d..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/csudma_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "csudma" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/csudma/src/" -ESW_COMPONENT_NAME = "libcsudma.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/ddrcpsu_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/ddrcpsu_2024.1.bb new file mode 100644 index 00000000..4728b6c5 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/ddrcpsu_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "ddrcpsu" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/ddrcpsu/src/" +ESW_COMPONENT_NAME = "libddrcpsu.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/ddrcpsu_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/ddrcpsu_git.bb deleted file mode 100644 index 4728b6c5..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/ddrcpsu_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "ddrcpsu" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/ddrcpsu/src/" -ESW_COMPONENT_NAME = "libddrcpsu.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/devcfg-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/devcfg-example_2024.1.bb new file mode 100644 index 00000000..dd70e09d --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/devcfg-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "devcfg" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/devcfg/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/devcfg-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/devcfg-example_git.bb deleted file mode 100644 index dd70e09d..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/devcfg-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "devcfg" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/devcfg/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/devcfg_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/devcfg_2024.1.bb new file mode 100644 index 00000000..4b794d22 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/devcfg_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "devcfg" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/devcfg/src/" +ESW_COMPONENT_NAME = "libdevcfg.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/devcfg_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/devcfg_git.bb deleted file mode 100644 index 4b794d22..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/devcfg_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "devcfg" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/devcfg/src/" -ESW_COMPONENT_NAME = "libdevcfg.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfxasm-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dfxasm-example_2024.1.bb new file mode 100644 index 00000000..974dd48b --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/dfxasm-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "dfxasm" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dfxasm/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfxasm-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dfxasm-example_git.bb deleted file mode 100644 index 974dd48b..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/dfxasm-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "dfxasm" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dfxasm/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfxasm_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dfxasm_2024.1.bb new file mode 100644 index 00000000..81f2157b --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/dfxasm_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "dfxasm" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dfxasm/src/" +ESW_COMPONENT_NAME = "libdfxasm.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfxasm_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dfxasm_git.bb deleted file mode 100644 index 81f2157b..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/dfxasm_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "dfxasm" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dfxasm/src/" -ESW_COMPONENT_NAME = "libdfxasm.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dmaps-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dmaps-example_2024.1.bb new file mode 100644 index 00000000..40d08e4b --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/dmaps-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "dmaps" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dmaps/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dmaps-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dmaps-example_git.bb deleted file mode 100644 index 40d08e4b..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/dmaps-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "dmaps" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dmaps/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dmaps_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dmaps_2024.1.bb new file mode 100644 index 00000000..1dcd8404 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/dmaps_2024.1.bb @@ -0,0 +1,18 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "dmaps" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dmaps/src/" +ESW_COMPONENT_NAME = "libdmaps.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" + +do_configure:prepend() { + LOPPER_DTC_FLAGS="-b 0 -@" lopper ${DTS_FILE} -- baremetal_xparameters_xlnx.py ${ESW_MACHINE} ${S} + install -m 0755 xparameters.h ${S}/${ESW_COMPONENT_SRC}/ +} diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dmaps_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dmaps_git.bb deleted file mode 100644 index 1dcd8404..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/dmaps_git.bb +++ /dev/null @@ -1,18 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "dmaps" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dmaps/src/" -ESW_COMPONENT_NAME = "libdmaps.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" - -do_configure:prepend() { - LOPPER_DTC_FLAGS="-b 0 -@" lopper ${DTS_FILE} -- baremetal_xparameters_xlnx.py ${ESW_MACHINE} ${S} - install -m 0755 xparameters.h ${S}/${ESW_COMPONENT_SRC}/ -} diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dpdma_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dpdma_2024.1.bb new file mode 100644 index 00000000..3adb88a6 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/dpdma_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "dpdma" + +inherit esw python3native + +DEPENDS += "xilstandalone video-common avbuf" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dpdma/src/" +ESW_COMPONENT_NAME = "libdpdma.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dpdma_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dpdma_git.bb deleted file mode 100644 index 3adb88a6..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/dpdma_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "dpdma" - -inherit esw python3native - -DEPENDS += "xilstandalone video-common avbuf" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dpdma/src/" -ESW_COMPONENT_NAME = "libdpdma.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dppsu_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dppsu_2024.1.bb new file mode 100644 index 00000000..87cca884 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/dppsu_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "dppsu" + +inherit esw python3native + +DEPENDS += "xilstandalone video-common" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dppsu/src/" +ESW_COMPONENT_NAME = "libdppsu.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dppsu_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dppsu_git.bb deleted file mode 100644 index 87cca884..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/dppsu_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "dppsu" - -inherit esw python3native - -DEPENDS += "xilstandalone video-common" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dppsu/src/" -ESW_COMPONENT_NAME = "libdppsu.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/emaclite-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/emaclite-example_2024.1.bb new file mode 100644 index 00000000..6ed717fb --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/emaclite-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "emaclite" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/emaclite/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/emaclite-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/emaclite-example_git.bb deleted file mode 100644 index 6ed717fb..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/emaclite-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "emaclite" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/emaclite/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/emaclite_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/emaclite_2024.1.bb new file mode 100644 index 00000000..9ceb477f --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/emaclite_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "emaclite" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/emaclite/src/" +ESW_COMPONENT_NAME = "libemaclite.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/emaclite_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/emaclite_git.bb deleted file mode 100644 index 9ceb477f..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/emaclite_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "emaclite" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/emaclite/src/" -ESW_COMPONENT_NAME = "libemaclite.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/emacps-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/emacps-example_2024.1.bb new file mode 100644 index 00000000..2c57eafe --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/emacps-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "emacps" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/emacps/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/emacps-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/emacps-example_git.bb deleted file mode 100644 index 2c57eafe..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/emacps-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "emacps" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/emacps/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/emacps_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/emacps_2024.1.bb new file mode 100644 index 00000000..8ed85984 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/emacps_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "emacps" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/emacps/src/" +ESW_COMPONENT_NAME = "libemacps.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/emacps_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/emacps_git.bb deleted file mode 100644 index 8ed85984..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/emacps_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "emacps" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/emacps/src/" -ESW_COMPONENT_NAME = "libemacps.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/gpio-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/gpio-example_2024.1.bb new file mode 100644 index 00000000..3f79cfec --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/gpio-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "gpio" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/gpio/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/gpio-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/gpio-example_git.bb deleted file mode 100644 index 3f79cfec..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/gpio-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "gpio" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/gpio/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/gpio_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/gpio_2024.1.bb new file mode 100644 index 00000000..83a746b7 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/gpio_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "gpio" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/gpio/src/" +ESW_COMPONENT_NAME = "libgpio.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/gpio_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/gpio_git.bb deleted file mode 100644 index 83a746b7..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/gpio_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "gpio" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/gpio/src/" -ESW_COMPONENT_NAME = "libgpio.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/gpiops-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/gpiops-example_2024.1.bb new file mode 100644 index 00000000..cc2e1703 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/gpiops-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "gpiops" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/gpiops/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/gpiops-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/gpiops-example_git.bb deleted file mode 100644 index cc2e1703..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/gpiops-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "gpiops" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/gpiops/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/gpiops_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/gpiops_2024.1.bb new file mode 100644 index 00000000..4bd63d1e --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/gpiops_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "gpiops" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/gpiops/src/" +ESW_COMPONENT_NAME = "libgpiops.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/gpiops_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/gpiops_git.bb deleted file mode 100644 index 4bd63d1e..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/gpiops_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "gpiops" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/gpiops/src/" -ESW_COMPONENT_NAME = "libgpiops.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/iic-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/iic-example_2024.1.bb new file mode 100644 index 00000000..b781b82c --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/iic-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "iic" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/iic/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/iic-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/iic-example_git.bb deleted file mode 100644 index b781b82c..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/iic-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "iic" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/iic/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/iic_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/iic_2024.1.bb new file mode 100644 index 00000000..7011f90b --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/iic_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "iic" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/iic/src/" +ESW_COMPONENT_NAME = "libiic.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/iic_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/iic_git.bb deleted file mode 100644 index 7011f90b..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/iic_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "iic" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/iic/src/" -ESW_COMPONENT_NAME = "libiic.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/iicps-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/iicps-example_2024.1.bb new file mode 100644 index 00000000..e9df1cbd --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/iicps-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "iicps" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/iicps/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/iicps-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/iicps-example_git.bb deleted file mode 100644 index e9df1cbd..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/iicps-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "iicps" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/iicps/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/iicps_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/iicps_2024.1.bb new file mode 100644 index 00000000..e96dc2ac --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/iicps_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "iicps" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/iicps/src/" +ESW_COMPONENT_NAME = "libiicps.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/iicps_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/iicps_git.bb deleted file mode 100644 index e96dc2ac..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/iicps_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "iicps" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/iicps/src/" -ESW_COMPONENT_NAME = "libiicps.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/intc-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/intc-example_2024.1.bb new file mode 100644 index 00000000..0b4b95a8 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/intc-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "intc" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/intc/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/intc-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/intc-example_git.bb deleted file mode 100644 index 0b4b95a8..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/intc-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "intc" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/intc/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/intc_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/intc_2024.1.bb new file mode 100644 index 00000000..331c2e32 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/intc_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "intc" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/intc/src/" +ESW_COMPONENT_NAME = "libintc.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/intc_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/intc_git.bb deleted file mode 100644 index 331c2e32..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/intc_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "intc" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/intc/src/" -ESW_COMPONENT_NAME = "libintc.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/iomodule_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/iomodule_2024.1.bb new file mode 100644 index 00000000..1f625521 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/iomodule_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "iomodule" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/iomodule/src/" +ESW_COMPONENT_NAME = "libiomodule.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/iomodule_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/iomodule_git.bb deleted file mode 100644 index 1f625521..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/iomodule_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "iomodule" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/iomodule/src/" -ESW_COMPONENT_NAME = "libiomodule.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/ipipsu-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/ipipsu-example_2024.1.bb new file mode 100644 index 00000000..0b31601d --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/ipipsu-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "ipipsu" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/ipipsu/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/ipipsu-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/ipipsu-example_git.bb deleted file mode 100644 index 0b31601d..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/ipipsu-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "ipipsu" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/ipipsu/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/ipipsu_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/ipipsu_2024.1.bb new file mode 100644 index 00000000..3e2ccc0b --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/ipipsu_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "ipipsu" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/ipipsu/src/" +ESW_COMPONENT_NAME = "libipipsu.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/ipipsu_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/ipipsu_git.bb deleted file mode 100644 index 3e2ccc0b..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/ipipsu_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "ipipsu" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/ipipsu/src/" -ESW_COMPONENT_NAME = "libipipsu.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/llfifo-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/llfifo-example_2024.1.bb new file mode 100644 index 00000000..6b1c211a --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/llfifo-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "llfifo" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/llfifo/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/llfifo-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/llfifo-example_git.bb deleted file mode 100644 index 6b1c211a..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/llfifo-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "llfifo" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/llfifo/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/llfifo_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/llfifo_2024.1.bb new file mode 100644 index 00000000..1fb76b18 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/llfifo_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "llfifo" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/llfifo/src/" +ESW_COMPONENT_NAME = "libllfifo.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/llfifo_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/llfifo_git.bb deleted file mode 100644 index 1fb76b18..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/llfifo_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "llfifo" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/llfifo/src/" -ESW_COMPONENT_NAME = "libllfifo.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/mbox-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/mbox-example_2024.1.bb new file mode 100644 index 00000000..3c4870b4 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/mbox-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "mbox" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/mbox/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/mbox-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/mbox-example_git.bb deleted file mode 100644 index 3c4870b4..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/mbox-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "mbox" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/mbox/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/mbox_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/mbox_2024.1.bb new file mode 100644 index 00000000..5c1b8393 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/mbox_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "mbox" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/mbox/src/" +ESW_COMPONENT_NAME = "libmbox.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/mbox_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/mbox_git.bb deleted file mode 100644 index 5c1b8393..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/mbox_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "mbox" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/mbox/src/" -ESW_COMPONENT_NAME = "libmbox.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/mcdma-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/mcdma-example_2024.1.bb new file mode 100644 index 00000000..64979470 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/mcdma-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "mcdma" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/mcdma/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/mcdma-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/mcdma-example_git.bb deleted file mode 100644 index 64979470..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/mcdma-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "mcdma" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/mcdma/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/mcdma_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/mcdma_2024.1.bb new file mode 100644 index 00000000..f13a7e54 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/mcdma_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "mcdma" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/mcdma/src/" +ESW_COMPONENT_NAME = "libmcdma.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/mcdma_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/mcdma_git.bb deleted file mode 100644 index f13a7e54..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/mcdma_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "mcdma" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/mcdma/src/" -ESW_COMPONENT_NAME = "libmcdma.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/mutex-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/mutex-example_2024.1.bb new file mode 100644 index 00000000..fc0527da --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/mutex-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "mutex" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/mutex/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/mutex-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/mutex-example_git.bb deleted file mode 100644 index fc0527da..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/mutex-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "mutex" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/mutex/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/mutex_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/mutex_2024.1.bb new file mode 100644 index 00000000..98abc948 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/mutex_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "mutex" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/mutex/src/" +ESW_COMPONENT_NAME = "libmutex.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/mutex_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/mutex_git.bb deleted file mode 100644 index 98abc948..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/mutex_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "mutex" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/mutex/src/" -ESW_COMPONENT_NAME = "libmutex.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/nandpsu-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/nandpsu-example_2024.1.bb new file mode 100644 index 00000000..8b7a88b5 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/nandpsu-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "nandpsu" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/nandpsu/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/nandpsu-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/nandpsu-example_git.bb deleted file mode 100644 index 8b7a88b5..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/nandpsu-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "nandpsu" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/nandpsu/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/nandpsu_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/nandpsu_2024.1.bb new file mode 100644 index 00000000..6d2a71c5 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/nandpsu_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "nandpsu" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/nandpsu/src/" +ESW_COMPONENT_NAME = "libnandpsu.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/nandpsu_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/nandpsu_git.bb deleted file mode 100644 index 6d2a71c5..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/nandpsu_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "nandpsu" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/nandpsu/src/" -ESW_COMPONENT_NAME = "libnandpsu.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/ospipsv-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/ospipsv-example_2024.1.bb new file mode 100644 index 00000000..0ded4fd2 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/ospipsv-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "ospipsv" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/ospipsv/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/ospipsv-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/ospipsv-example_git.bb deleted file mode 100644 index 0ded4fd2..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/ospipsv-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "ospipsv" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/ospipsv/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/ospipsv_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/ospipsv_2024.1.bb new file mode 100644 index 00000000..f0548efc --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/ospipsv_2024.1.bb @@ -0,0 +1,19 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "ospipsv" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/ospipsv/src/" +ESW_COMPONENT_NAME = "libospipsv.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" + +do_configure:prepend() { + LOPPER_DTC_FLAGS="-b 0 -@" lopper ${DTS_FILE} -- baremetal_xparameters_xlnx.py ${ESW_MACHINE} ${S} + install -m 0755 xparameters.h ${S}/${ESW_COMPONENT_SRC}/ +} + diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/ospipsv_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/ospipsv_git.bb deleted file mode 100644 index f0548efc..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/ospipsv_git.bb +++ /dev/null @@ -1,19 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "ospipsv" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/ospipsv/src/" -ESW_COMPONENT_NAME = "libospipsv.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" - -do_configure:prepend() { - LOPPER_DTC_FLAGS="-b 0 -@" lopper ${DTS_FILE} -- baremetal_xparameters_xlnx.py ${ESW_MACHINE} ${S} - install -m 0755 xparameters.h ${S}/${ESW_COMPONENT_SRC}/ -} - diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/pciepsu-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/pciepsu-example_2024.1.bb new file mode 100644 index 00000000..23895fba --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/pciepsu-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "pciepsu" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/pciepsu/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/pciepsu-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/pciepsu-example_git.bb deleted file mode 100644 index 23895fba..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/pciepsu-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "pciepsu" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/pciepsu/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/pciepsu_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/pciepsu_2024.1.bb new file mode 100644 index 00000000..ccedb1df --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/pciepsu_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "pciepsu" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/pciepsu/src/" +ESW_COMPONENT_NAME = "libpciepsu.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/pciepsu_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/pciepsu_git.bb deleted file mode 100644 index ccedb1df..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/pciepsu_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "pciepsu" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/pciepsu/src/" -ESW_COMPONENT_NAME = "libpciepsu.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/qspips-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/qspips-example_2024.1.bb new file mode 100644 index 00000000..674b879a --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/qspips-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "qspips" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/qspips/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/qspips-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/qspips-example_git.bb deleted file mode 100644 index 674b879a..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/qspips-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "qspips" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/qspips/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/qspips_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/qspips_2024.1.bb new file mode 100644 index 00000000..fa28d901 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/qspips_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "qspips" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/qspips/src/" +ESW_COMPONENT_NAME = "libqspips.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/qspips_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/qspips_git.bb deleted file mode 100644 index fa28d901..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/qspips_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "qspips" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/qspips/src/" -ESW_COMPONENT_NAME = "libqspips.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/qspipsu-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/qspipsu-example_2024.1.bb new file mode 100644 index 00000000..21231450 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/qspipsu-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "qspipsu" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/qspipsu/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/qspipsu-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/qspipsu-example_git.bb deleted file mode 100644 index 21231450..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/qspipsu-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "qspipsu" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/qspipsu/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/qspipsu_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/qspipsu_2024.1.bb new file mode 100644 index 00000000..5b4b1614 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/qspipsu_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "qspipsu" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/qspipsu/src/" +ESW_COMPONENT_NAME = "libqspipsu.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/qspipsu_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/qspipsu_git.bb deleted file mode 100644 index 5b4b1614..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/qspipsu_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "qspipsu" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/qspipsu/src/" -ESW_COMPONENT_NAME = "libqspipsu.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/resetps-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/resetps-example_2024.1.bb new file mode 100644 index 00000000..243393bb --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/resetps-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "resetps" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/resetps/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/resetps-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/resetps-example_git.bb deleted file mode 100644 index 243393bb..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/resetps-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "resetps" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/resetps/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/resetps_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/resetps_2024.1.bb new file mode 100644 index 00000000..c753c666 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/resetps_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "resetps" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/resetps/src/" +ESW_COMPONENT_NAME = "libresetps.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/resetps_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/resetps_git.bb deleted file mode 100644 index c753c666..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/resetps_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "resetps" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/resetps/src/" -ESW_COMPONENT_NAME = "libresetps.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu-example_2024.1.bb new file mode 100644 index 00000000..ac386c4c --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "rtcpsu" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/rtcpsu/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu-example_git.bb deleted file mode 100644 index ac386c4c..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "rtcpsu" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/rtcpsu/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu_2024.1.bb new file mode 100644 index 00000000..7b96bf16 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "rtcpsu" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/rtcpsu/src/" +ESW_COMPONENT_NAME = "librtcpsu.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu_git.bb deleted file mode 100644 index 7b96bf16..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/rtcpsu_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "rtcpsu" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/rtcpsu/src/" -ESW_COMPONENT_NAME = "librtcpsu.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/scugic-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/scugic-example_2024.1.bb new file mode 100644 index 00000000..cbef3ce9 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/scugic-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "scugic" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/scugic/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/scugic-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/scugic-example_git.bb deleted file mode 100644 index cbef3ce9..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/scugic-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "scugic" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/scugic/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/scugic_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/scugic_2024.1.bb new file mode 100644 index 00000000..f079354d --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/scugic_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "scugic" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/scugic/src/" +ESW_COMPONENT_NAME = "libscugic.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/scugic_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/scugic_git.bb deleted file mode 100644 index f079354d..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/scugic_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "scugic" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/scugic/src/" -ESW_COMPONENT_NAME = "libscugic.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sdps-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/sdps-example_2024.1.bb new file mode 100644 index 00000000..550d664b --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/sdps-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "sdps" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/sdps/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sdps-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/sdps-example_git.bb deleted file mode 100644 index 550d664b..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/sdps-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "sdps" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/sdps/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sdps_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/sdps_2024.1.bb new file mode 100644 index 00000000..4caf0e63 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/sdps_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "sdps" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/sdps/src/" +ESW_COMPONENT_NAME = "libsdps.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sdps_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/sdps_git.bb deleted file mode 100644 index 4caf0e63..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/sdps_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "sdps" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/sdps/src/" -ESW_COMPONENT_NAME = "libsdps.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/spips-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/spips-example_2024.1.bb new file mode 100644 index 00000000..71ead5d3 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/spips-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "spips" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/spips/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/spips-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/spips-example_git.bb deleted file mode 100644 index 71ead5d3..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/spips-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "spips" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/spips/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/spips_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/spips_2024.1.bb new file mode 100644 index 00000000..ca02fda0 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/spips_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "spips" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/spips/src/" +ESW_COMPONENT_NAME = "libspips.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/spips_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/spips_git.bb deleted file mode 100644 index ca02fda0..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/spips_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "spips" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/spips/src/" -ESW_COMPONENT_NAME = "libspips.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sysmon-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/sysmon-example_2024.1.bb new file mode 100644 index 00000000..5bc007ad --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/sysmon-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "sysmon" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/sysmon/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sysmon-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/sysmon-example_git.bb deleted file mode 100644 index 5bc007ad..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/sysmon-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "sysmon" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/sysmon/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sysmon_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/sysmon_2024.1.bb new file mode 100644 index 00000000..5353f6f8 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/sysmon_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "sysmon" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/sysmon/src/" +ESW_COMPONENT_NAME = "libsysmon.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sysmon_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/sysmon_git.bb deleted file mode 100644 index 5353f6f8..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/sysmon_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "sysmon" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/sysmon/src/" -ESW_COMPONENT_NAME = "libsysmon.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsu-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsu-example_2024.1.bb new file mode 100644 index 00000000..2c76a978 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsu-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "sysmonpsu" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/sysmonpsu/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsu-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsu-example_git.bb deleted file mode 100644 index 2c76a978..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsu-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "sysmonpsu" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/sysmonpsu/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsu_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsu_2024.1.bb new file mode 100644 index 00000000..871a77a3 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsu_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "sysmonpsu" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/sysmonpsu/src/" +ESW_COMPONENT_NAME = "libsysmonpsu.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsu_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsu_git.bb deleted file mode 100644 index 871a77a3..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsu_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "sysmonpsu" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/sysmonpsu/src/" -ESW_COMPONENT_NAME = "libsysmonpsu.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv-example_2024.1.bb new file mode 100644 index 00000000..edce2794 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "sysmonpsv" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/sysmonpsv/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv-example_git.bb deleted file mode 100644 index edce2794..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "sysmonpsv" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/sysmonpsv/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv_2024.1.bb new file mode 100644 index 00000000..2c693809 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "sysmonpsv" + +inherit esw python3native + +DEPENDS += "xilstandalone ${@'scugic' if d.getVar('ESW_MACHINE') != 'psv_pmc_0' and d.getVar('ESW_MACHINE') != 'psv_psm_0' else ''}" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/sysmonpsv/src/" +ESW_COMPONENT_NAME = "libsysmonpsv.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv_git.bb deleted file mode 100644 index 2c693809..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/sysmonpsv_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "sysmonpsv" - -inherit esw python3native - -DEPENDS += "xilstandalone ${@'scugic' if d.getVar('ESW_MACHINE') != 'psv_pmc_0' and d.getVar('ESW_MACHINE') != 'psv_psm_0' else ''}" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/sysmonpsv/src/" -ESW_COMPONENT_NAME = "libsysmonpsv.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/tmr-inject_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/tmr-inject_2024.1.bb new file mode 100644 index 00000000..dbf3d364 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/tmr-inject_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "tmr-inject" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/tmr_inject/src/" +ESW_COMPONENT_NAME = "libtmr_inject.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/tmr-inject_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/tmr-inject_git.bb deleted file mode 100644 index dbf3d364..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/tmr-inject_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "tmr-inject" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/tmr_inject/src/" -ESW_COMPONENT_NAME = "libtmr_inject.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/tmr-manager_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/tmr-manager_2024.1.bb new file mode 100644 index 00000000..dd91fed7 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/tmr-manager_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "tmr-manager" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/tmr_manager/src/" +ESW_COMPONENT_NAME = "libtmr_manager.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/tmr-manager_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/tmr-manager_git.bb deleted file mode 100644 index dd91fed7..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/tmr-manager_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "tmr-manager" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/tmr_manager/src/" -ESW_COMPONENT_NAME = "libtmr_manager.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/tmrctr-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/tmrctr-example_2024.1.bb new file mode 100644 index 00000000..8224d6fe --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/tmrctr-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "tmrctr" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/tmrctr/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/tmrctr-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/tmrctr-example_git.bb deleted file mode 100644 index 8224d6fe..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/tmrctr-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "tmrctr" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/tmrctr/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/tmrctr_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/tmrctr_2024.1.bb new file mode 100644 index 00000000..cf94a9d0 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/tmrctr_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "tmrctr" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/tmrctr/src/" +ESW_COMPONENT_NAME = "libtmrctr.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/tmrctr_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/tmrctr_git.bb deleted file mode 100644 index cf94a9d0..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/tmrctr_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "tmrctr" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/tmrctr/src/" -ESW_COMPONENT_NAME = "libtmrctr.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/trafgen-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/trafgen-example_2024.1.bb new file mode 100644 index 00000000..84c5618c --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/trafgen-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "trafgen" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/trafgen/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/trafgen-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/trafgen-example_git.bb deleted file mode 100644 index 84c5618c..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/trafgen-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "trafgen" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/trafgen/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/trafgen_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/trafgen_2024.1.bb new file mode 100644 index 00000000..77d000db --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/trafgen_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "trafgen" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/trafgen/src/" +ESW_COMPONENT_NAME = "libtrafgen.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/trafgen_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/trafgen_git.bb deleted file mode 100644 index 77d000db..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/trafgen_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "trafgen" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/trafgen/src/" -ESW_COMPONENT_NAME = "libtrafgen.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/ttcps-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/ttcps-example_2024.1.bb new file mode 100644 index 00000000..d294c383 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/ttcps-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "ttcps" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/ttcps/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/ttcps-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/ttcps-example_git.bb deleted file mode 100644 index d294c383..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/ttcps-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "ttcps" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/ttcps/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/ttcps_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/ttcps_2024.1.bb new file mode 100644 index 00000000..ea520656 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/ttcps_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "ttcps" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/ttcps/src/" +ESW_COMPONENT_NAME = "libttcps.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/ttcps_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/ttcps_git.bb deleted file mode 100644 index ea520656..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/ttcps_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "ttcps" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/ttcps/src/" -ESW_COMPONENT_NAME = "libttcps.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartlite-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/uartlite-example_2024.1.bb new file mode 100644 index 00000000..9aa0f598 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/uartlite-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "uartlite" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/uartlite/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartlite-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/uartlite-example_git.bb deleted file mode 100644 index 9aa0f598..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/uartlite-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "uartlite" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/uartlite/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartlite_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/uartlite_2024.1.bb new file mode 100644 index 00000000..5998e092 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/uartlite_2024.1.bb @@ -0,0 +1,16 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "uartlite" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/uartlite/src/" +ESW_COMPONENT_NAME = "libuartlite.a" + +do_configure:prepend() { + LOPPER_DTC_FLAGS="-b 0 -@" lopper ${DTS_FILE} -- baremetalconfig_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} stdin + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC} + install -m 0755 xuartlite_g.c ${S}/${ESW_COMPONENT_SRC} +} diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartlite_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/uartlite_git.bb deleted file mode 100644 index 5998e092..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/uartlite_git.bb +++ /dev/null @@ -1,16 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "uartlite" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/uartlite/src/" -ESW_COMPONENT_NAME = "libuartlite.a" - -do_configure:prepend() { - LOPPER_DTC_FLAGS="-b 0 -@" lopper ${DTS_FILE} -- baremetalconfig_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} stdin - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC} - install -m 0755 xuartlite_g.c ${S}/${ESW_COMPONENT_SRC} -} diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartns550-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/uartns550-example_2024.1.bb new file mode 100644 index 00000000..d81ce77b --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/uartns550-example_2024.1.bb @@ -0,0 +1,6 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "uartns550" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/uartns550/examples/" + diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartns550-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/uartns550-example_git.bb deleted file mode 100644 index d81ce77b..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/uartns550-example_git.bb +++ /dev/null @@ -1,6 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "uartns550" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/uartns550/examples/" - diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartns550_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/uartns550_2024.1.bb new file mode 100644 index 00000000..a08763cb --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/uartns550_2024.1.bb @@ -0,0 +1,16 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "uartns550" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/uartns550/src/" +ESW_COMPONENT_NAME = "libuartns550.a" + +do_configure:prepend() { + LOPPER_DTC_FLAGS="-b 0 -@" lopper ${DTS_FILE} -- baremetalconfig_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} stdin + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC} + install -m 0755 xuartns550_g.c ${S}/${ESW_COMPONENT_SRC} +} diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartns550_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/uartns550_git.bb deleted file mode 100644 index a08763cb..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/uartns550_git.bb +++ /dev/null @@ -1,16 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "uartns550" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/uartns550/src/" -ESW_COMPONENT_NAME = "libuartns550.a" - -do_configure:prepend() { - LOPPER_DTC_FLAGS="-b 0 -@" lopper ${DTS_FILE} -- baremetalconfig_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} stdin - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC} - install -m 0755 xuartns550_g.c ${S}/${ESW_COMPONENT_SRC} -} diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartps-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/uartps-example_2024.1.bb new file mode 100644 index 00000000..bbff466d --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/uartps-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "uartps" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/uartps/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartps-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/uartps-example_git.bb deleted file mode 100644 index bbff466d..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/uartps-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "uartps" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/uartps/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartps_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/uartps_2024.1.bb new file mode 100644 index 00000000..932be9eb --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/uartps_2024.1.bb @@ -0,0 +1,16 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "uartps" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/uartps/src/" +ESW_COMPONENT_NAME = "libuartps.a" + +do_configure:prepend() { + LOPPER_DTC_FLAGS="-b 0 -@" lopper ${DTS_FILE} -- baremetalconfig_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} stdin + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ + install -m 0755 xuartps_g.c ${S}/${ESW_COMPONENT_SRC}/ +} diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartps_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/uartps_git.bb deleted file mode 100644 index 932be9eb..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/uartps_git.bb +++ /dev/null @@ -1,16 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "uartps" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/uartps/src/" -ESW_COMPONENT_NAME = "libuartps.a" - -do_configure:prepend() { - LOPPER_DTC_FLAGS="-b 0 -@" lopper ${DTS_FILE} -- baremetalconfig_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} stdin - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ - install -m 0755 xuartps_g.c ${S}/${ESW_COMPONENT_SRC}/ -} diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartpsv-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/uartpsv-example_2024.1.bb new file mode 100644 index 00000000..78f878a6 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/uartpsv-example_2024.1.bb @@ -0,0 +1,6 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "uartpsv" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/uartpsv/examples/" + diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartpsv-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/uartpsv-example_git.bb deleted file mode 100644 index 78f878a6..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/uartpsv-example_git.bb +++ /dev/null @@ -1,6 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "uartpsv" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/uartpsv/examples/" - diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartpsv_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/uartpsv_2024.1.bb new file mode 100644 index 00000000..01e48caa --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/uartpsv_2024.1.bb @@ -0,0 +1,16 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "uartpsv" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/uartpsv/src/" +ESW_COMPONENT_NAME = "libuartpsv.a" + +do_configure:prepend() { + LOPPER_DTC_FLAGS="-b 0 -@" lopper ${DTS_FILE} -- baremetalconfig_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} stdin + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ + install -m 0755 xuartpsv_g.c ${S}/${ESW_COMPONENT_SRC}/ +} diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/uartpsv_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/uartpsv_git.bb deleted file mode 100644 index 01e48caa..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/uartpsv_git.bb +++ /dev/null @@ -1,16 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "uartpsv" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/uartpsv/src/" -ESW_COMPONENT_NAME = "libuartpsv.a" - -do_configure:prepend() { - LOPPER_DTC_FLAGS="-b 0 -@" lopper ${DTS_FILE} -- baremetalconfig_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} stdin - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ - install -m 0755 xuartpsv_g.c ${S}/${ESW_COMPONENT_SRC}/ -} diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/usb-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/usb-example_2024.1.bb new file mode 100644 index 00000000..0d4e113a --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/usb-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "usb" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/usb/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/usb-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/usb-example_git.bb deleted file mode 100644 index 0d4e113a..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/usb-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "usb" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/usb/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/usb_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/usb_2024.1.bb new file mode 100644 index 00000000..9dac8cba --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/usb_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "usb" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/usb/src/" +ESW_COMPONENT_NAME = "libusb.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/usb_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/usb_git.bb deleted file mode 100644 index 9dac8cba..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/usb_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "usb" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/usb/src/" -ESW_COMPONENT_NAME = "libusb.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/usbpsu-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/usbpsu-example_2024.1.bb new file mode 100644 index 00000000..4eb9bc93 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/usbpsu-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "usbpsu" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/usbpsu/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/usbpsu-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/usbpsu-example_git.bb deleted file mode 100644 index 4eb9bc93..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/usbpsu-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "usbpsu" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/usbpsu/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/usbpsu_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/usbpsu_2024.1.bb new file mode 100644 index 00000000..194b1f0f --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/usbpsu_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "usbpsu" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/usbpsu/src/" +ESW_COMPONENT_NAME = "libusbpsu.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/usbpsu_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/usbpsu_git.bb deleted file mode 100644 index 194b1f0f..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/usbpsu_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "usbpsu" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/usbpsu/src/" -ESW_COMPONENT_NAME = "libusbpsu.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-csc_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-csc_2024.1.bb new file mode 100644 index 00000000..068a43e9 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-csc_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "v-csc" + +inherit esw python3native + +DEPENDS += "xilstandalone video-common" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_csc/src/" +ESW_COMPONENT_NAME = "libv_csc.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-csc_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-csc_git.bb deleted file mode 100644 index 068a43e9..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/v-csc_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "v-csc" - -inherit esw python3native - -DEPENDS += "xilstandalone video-common" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_csc/src/" -ESW_COMPONENT_NAME = "libv_csc.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-deinterlacer_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-deinterlacer_2024.1.bb new file mode 100644 index 00000000..741fdd91 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-deinterlacer_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "v-deinterlacer" + +inherit esw python3native + +DEPENDS += "xilstandalone video-common" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_deinterlacer/src/" +ESW_COMPONENT_NAME = "libv_deinterlacer.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-deinterlacer_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-deinterlacer_git.bb deleted file mode 100644 index 741fdd91..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/v-deinterlacer_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "v-deinterlacer" - -inherit esw python3native - -DEPENDS += "xilstandalone video-common" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_deinterlacer/src/" -ESW_COMPONENT_NAME = "libv_deinterlacer.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-demosaic-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-demosaic-example_2024.1.bb new file mode 100644 index 00000000..cf2cdf6f --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-demosaic-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "v-demosaic" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_demosaic/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-demosaic-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-demosaic-example_git.bb deleted file mode 100644 index cf2cdf6f..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/v-demosaic-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "v-demosaic" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_demosaic/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-demosaic_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-demosaic_2024.1.bb new file mode 100644 index 00000000..79ef55f2 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-demosaic_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "v-demosaic" + +inherit esw python3native + +DEPENDS += "xilstandalone video-common" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_demosaic/src/" +ESW_COMPONENT_NAME = "libv_demosaic.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-demosaic_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-demosaic_git.bb deleted file mode 100644 index 79ef55f2..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/v-demosaic_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "v-demosaic" - -inherit esw python3native - -DEPENDS += "xilstandalone video-common" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_demosaic/src/" -ESW_COMPONENT_NAME = "libv_demosaic.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-rd-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-rd-example_2024.1.bb new file mode 100644 index 00000000..fc13c194 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-rd-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "v-frmbuf-rd" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_frmbuf_rd/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-rd-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-rd-example_git.bb deleted file mode 100644 index fc13c194..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-rd-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "v-frmbuf-rd" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_frmbuf_rd/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-rd_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-rd_2024.1.bb new file mode 100644 index 00000000..91ee34d8 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-rd_2024.1.bb @@ -0,0 +1,16 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "v-frmbuf-rd" + +inherit esw python3native + +DEPENDS += "xilstandalone video-common" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_frmbuf_rd/src/" +ESW_COMPONENT_NAME = "libv_frmbuf_rd.a" + +do_configure:prepend() { + LOPPER_DTC_FLAGS="-b 0 -@" lopper ${DTS_FILE} -- baremetalconfig_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ + install -m 0755 xv_frmbufrd_g.c ${S}/${ESW_COMPONENT_SRC}/ +} diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-rd_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-rd_git.bb deleted file mode 100644 index 91ee34d8..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-rd_git.bb +++ /dev/null @@ -1,16 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "v-frmbuf-rd" - -inherit esw python3native - -DEPENDS += "xilstandalone video-common" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_frmbuf_rd/src/" -ESW_COMPONENT_NAME = "libv_frmbuf_rd.a" - -do_configure:prepend() { - LOPPER_DTC_FLAGS="-b 0 -@" lopper ${DTS_FILE} -- baremetalconfig_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ - install -m 0755 xv_frmbufrd_g.c ${S}/${ESW_COMPONENT_SRC}/ -} diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-wr-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-wr-example_2024.1.bb new file mode 100644 index 00000000..87a1be53 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-wr-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "v-frmbuf-wr" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_frmbuf_wr/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-wr-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-wr-example_git.bb deleted file mode 100644 index 87a1be53..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-wr-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "v-frmbuf-wr" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_frmbuf_wr/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-wr_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-wr_2024.1.bb new file mode 100644 index 00000000..d88ac592 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-wr_2024.1.bb @@ -0,0 +1,16 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "v-frmbuf-wr" + +inherit esw python3native + +DEPENDS += "xilstandalone video-common" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_frmbuf_wr/src/" +ESW_COMPONENT_NAME = "libv_frmbuf_wr.a" + +do_configure:prepend() { + LOPPER_DTC_FLAGS="-b 0 -@" lopper ${DTS_FILE} -- baremetalconfig_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ + install -m 0755 xv_frmbufwr_g.c ${S}/${ESW_COMPONENT_SRC}/ +} diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-wr_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-wr_git.bb deleted file mode 100644 index d88ac592..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/v-frmbuf-wr_git.bb +++ /dev/null @@ -1,16 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "v-frmbuf-wr" - -inherit esw python3native - -DEPENDS += "xilstandalone video-common" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_frmbuf_wr/src/" -ESW_COMPONENT_NAME = "libv_frmbuf_wr.a" - -do_configure:prepend() { - LOPPER_DTC_FLAGS="-b 0 -@" lopper ${DTS_FILE} -- baremetalconfig_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ - install -m 0755 xv_frmbufwr_g.c ${S}/${ESW_COMPONENT_SRC}/ -} diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-gamma-lut-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-gamma-lut-example_2024.1.bb new file mode 100644 index 00000000..4d5dcf03 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-gamma-lut-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "v-gamma-lut" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_gamma_lut/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-gamma-lut-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-gamma-lut-example_git.bb deleted file mode 100644 index 4d5dcf03..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/v-gamma-lut-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "v-gamma-lut" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_gamma_lut/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-gamma-lut_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-gamma-lut_2024.1.bb new file mode 100644 index 00000000..8cf95c9d --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-gamma-lut_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "v-gamma-lut" + +inherit esw python3native + +DEPENDS += "xilstandalone video-common" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_gamma_lut/src/" +ESW_COMPONENT_NAME = "libv_gamma_lut.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-gamma-lut_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-gamma-lut_git.bb deleted file mode 100644 index 8cf95c9d..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/v-gamma-lut_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "v-gamma-lut" - -inherit esw python3native - -DEPENDS += "xilstandalone video-common" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_gamma_lut/src/" -ESW_COMPONENT_NAME = "libv_gamma_lut.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-hcresampler_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-hcresampler_2024.1.bb new file mode 100644 index 00000000..1731f984 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-hcresampler_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "v-hcresampler" + +inherit esw python3native + +DEPENDS += "xilstandalone video-common" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_hcresampler/src/" +ESW_COMPONENT_NAME = "libv_hcresampler.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-hcresampler_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-hcresampler_git.bb deleted file mode 100644 index 1731f984..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/v-hcresampler_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "v-hcresampler" - -inherit esw python3native - -DEPENDS += "xilstandalone video-common" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_hcresampler/src/" -ESW_COMPONENT_NAME = "libv_hcresampler.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-hscaler_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-hscaler_2024.1.bb new file mode 100644 index 00000000..b239380e --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-hscaler_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "v-hscaler" + +inherit esw python3native + +DEPENDS += "xilstandalone video-common" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_hscaler/src/" +ESW_COMPONENT_NAME = "libv_hscaler.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-hscaler_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-hscaler_git.bb deleted file mode 100644 index b239380e..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/v-hscaler_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "v-hscaler" - -inherit esw python3native - -DEPENDS += "xilstandalone video-common" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_hscaler/src/" -ESW_COMPONENT_NAME = "libv_hscaler.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-letterbox_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-letterbox_2024.1.bb new file mode 100644 index 00000000..f5ad5f4e --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-letterbox_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "v-letterbox" + +inherit esw python3native + +DEPENDS += "xilstandalone video-common" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_letterbox/src/" +ESW_COMPONENT_NAME = "libv_letterbox.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-letterbox_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-letterbox_git.bb deleted file mode 100644 index f5ad5f4e..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/v-letterbox_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "v-letterbox" - -inherit esw python3native - -DEPENDS += "xilstandalone video-common" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_letterbox/src/" -ESW_COMPONENT_NAME = "libv_letterbox.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-mix-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-mix-example_2024.1.bb new file mode 100644 index 00000000..8bafbf00 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-mix-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "v-mix" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_mix/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-mix-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-mix-example_git.bb deleted file mode 100644 index 8bafbf00..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/v-mix-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "v-mix" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_mix/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-mix_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-mix_2024.1.bb new file mode 100644 index 00000000..acc19bd0 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-mix_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "v-mix" + +inherit esw python3native + +DEPENDS += "xilstandalone video-common" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_mix/src/" +ESW_COMPONENT_NAME = "libv_mix.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-mix_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-mix_git.bb deleted file mode 100644 index acc19bd0..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/v-mix_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "v-mix" - -inherit esw python3native - -DEPENDS += "xilstandalone video-common" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_mix/src/" -ESW_COMPONENT_NAME = "libv_mix.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-multi-scaler-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-multi-scaler-example_2024.1.bb new file mode 100644 index 00000000..28660316 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-multi-scaler-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "v-multi-scaler" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_multi_scaler/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-multi-scaler-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-multi-scaler-example_git.bb deleted file mode 100644 index 28660316..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/v-multi-scaler-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "v-multi-scaler" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_multi_scaler/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-multi-scaler_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-multi-scaler_2024.1.bb new file mode 100644 index 00000000..bd725dbe --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-multi-scaler_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "v-multi-scaler" + +inherit esw python3native + +DEPENDS += "xilstandalone video-common" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_multi_scaler/src/" +ESW_COMPONENT_NAME = "libv_multi_scaler.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-multi-scaler_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-multi-scaler_git.bb deleted file mode 100644 index bd725dbe..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/v-multi-scaler_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "v-multi-scaler" - -inherit esw python3native - -DEPENDS += "xilstandalone video-common" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_multi_scaler/src/" -ESW_COMPONENT_NAME = "libv_multi_scaler.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-scenechange-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-scenechange-example_2024.1.bb new file mode 100644 index 00000000..2859de79 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-scenechange-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "v-scenechange" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_scenechange/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-scenechange-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-scenechange-example_git.bb deleted file mode 100644 index 2859de79..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/v-scenechange-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "v-scenechange" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_scenechange/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-scenechange_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-scenechange_2024.1.bb new file mode 100644 index 00000000..77cf9189 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-scenechange_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "v-scenechange" + +inherit esw python3native + +DEPENDS += "xilstandalone video-common" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_scenechange/src/" +ESW_COMPONENT_NAME = "libv_scenechange.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-scenechange_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-scenechange_git.bb deleted file mode 100644 index 77cf9189..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/v-scenechange_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "v-scenechange" - -inherit esw python3native - -DEPENDS += "xilstandalone video-common" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_scenechange/src/" -ESW_COMPONENT_NAME = "libv_scenechange.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-tpg_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-tpg_2024.1.bb new file mode 100644 index 00000000..6ea70db1 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-tpg_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "v-tpg" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_tpg/src/" +ESW_COMPONENT_NAME = "libv_tpg.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-tpg_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-tpg_git.bb deleted file mode 100644 index 6ea70db1..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/v-tpg_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "v-tpg" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_tpg/src/" -ESW_COMPONENT_NAME = "libv_tpg.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-vcresampler_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-vcresampler_2024.1.bb new file mode 100644 index 00000000..45913cdc --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-vcresampler_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "v-vcresampler" + +inherit esw python3native + +DEPENDS += "xilstandalone video-common" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_vcresampler/src/" +ESW_COMPONENT_NAME = "libv_vcresampler.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-vcresampler_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-vcresampler_git.bb deleted file mode 100644 index 45913cdc..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/v-vcresampler_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "v-vcresampler" - -inherit esw python3native - -DEPENDS += "xilstandalone video-common" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_vcresampler/src/" -ESW_COMPONENT_NAME = "libv_vcresampler.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-vscaler_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-vscaler_2024.1.bb new file mode 100644 index 00000000..9528d2e0 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-vscaler_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "v-vscaler" + +inherit esw python3native + +DEPENDS += "xilstandalone video-common" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_vscaler/src/" +ESW_COMPONENT_NAME = "libv_vscaler.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-vscaler_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-vscaler_git.bb deleted file mode 100644 index 9528d2e0..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/v-vscaler_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "v-vscaler" - -inherit esw python3native - -DEPENDS += "xilstandalone video-common" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_vscaler/src/" -ESW_COMPONENT_NAME = "libv_vscaler.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/video-common_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/video-common_2024.1.bb new file mode 100644 index 00000000..278dee8a --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/video-common_2024.1.bb @@ -0,0 +1,10 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "video-common" + +inherit esw + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/video_common/src/" +ESW_COMPONENT_NAME = "libvideo_common.a" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/video-common_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/video-common_git.bb deleted file mode 100644 index 278dee8a..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/video-common_git.bb +++ /dev/null @@ -1,10 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "video-common" - -inherit esw - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/video_common/src/" -ESW_COMPONENT_NAME = "libvideo_common.a" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/vprocss-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/vprocss-example_2024.1.bb new file mode 100644 index 00000000..d9050ec4 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/vprocss-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "vprocss" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/vprocss/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/vprocss-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/vprocss-example_git.bb deleted file mode 100644 index d9050ec4..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/vprocss-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "vprocss" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/vprocss/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/vprocss_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/vprocss_2024.1.bb new file mode 100644 index 00000000..26b2852f --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/vprocss_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "vprocss" + +inherit esw python3native + +DEPENDS += "xilstandalone video-common gpio axis-switch axivdma v-csc v-deinterlacer v-hcresampler v-vcresampler v-hscaler v-vscaler v-letterbox" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/vprocss/src/" +ESW_COMPONENT_NAME = "libvprocss.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/vprocss_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/vprocss_git.bb deleted file mode 100644 index 26b2852f..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/vprocss_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "vprocss" - -inherit esw python3native - -DEPENDS += "xilstandalone video-common gpio axis-switch axivdma v-csc v-deinterlacer v-hcresampler v-vcresampler v-hscaler v-vscaler v-letterbox" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/vprocss/src/" -ESW_COMPONENT_NAME = "libvprocss.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/vtc_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/vtc_2024.1.bb new file mode 100644 index 00000000..a82ae5ee --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/vtc_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "vtc" + +inherit esw python3native + +DEPENDS += "xilstandalone video-common" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/vtc/src/" +ESW_COMPONENT_NAME = "libvtc.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/vtc_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/vtc_git.bb deleted file mode 100644 index a82ae5ee..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/vtc_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "vtc" - -inherit esw python3native - -DEPENDS += "xilstandalone video-common" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/vtc/src/" -ESW_COMPONENT_NAME = "libvtc.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/wdtps-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/wdtps-example_2024.1.bb new file mode 100644 index 00000000..610a7476 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/wdtps-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "wdtps" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/wdtps/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/wdtps-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/wdtps-example_git.bb deleted file mode 100644 index 610a7476..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/wdtps-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "wdtps" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/wdtps/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/wdtps_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/wdtps_2024.1.bb new file mode 100644 index 00000000..2c900038 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/wdtps_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "wdtps" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/wdtps/src/" +ESW_COMPONENT_NAME = "libwdtps.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/wdtps_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/wdtps_git.bb deleted file mode 100644 index 2c900038..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/wdtps_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "wdtps" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/wdtps/src/" -ESW_COMPONENT_NAME = "libwdtps.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/wdttb-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/wdttb-example_2024.1.bb new file mode 100644 index 00000000..cad6ca20 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/wdttb-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "wdttb" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/wdttb/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/wdttb-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/wdttb-example_git.bb deleted file mode 100644 index cad6ca20..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/wdttb-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "wdttb" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/wdttb/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/wdttb_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/wdttb_2024.1.bb new file mode 100644 index 00000000..33331c32 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/wdttb_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "wdttb" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/wdttb/src/" +ESW_COMPONENT_NAME = "libwdttb.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/wdttb_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/wdttb_git.bb deleted file mode 100644 index 33331c32..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/wdttb_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "wdttb" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/wdttb/src/" -ESW_COMPONENT_NAME = "libwdttb.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/xadcps-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/xadcps-example_2024.1.bb new file mode 100644 index 00000000..f8878144 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/xadcps-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "xadcps" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/xadcps/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/xadcps-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/xadcps-example_git.bb deleted file mode 100644 index f8878144..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/xadcps-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "xadcps" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/xadcps/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/xadcps_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/xadcps_2024.1.bb new file mode 100644 index 00000000..85800a27 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/xadcps_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "xadcps" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/xadcps/src/" +ESW_COMPONENT_NAME = "libxadcps.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/xadcps_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/xadcps_git.bb deleted file mode 100644 index 85800a27..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/xadcps_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "xadcps" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/xadcps/src/" -ESW_COMPONENT_NAME = "libxadcps.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/xdmapcie-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/xdmapcie-example_2024.1.bb new file mode 100644 index 00000000..26983a8f --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/xdmapcie-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "xdmapcie" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/xdmapcie/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/xdmapcie-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/xdmapcie-example_git.bb deleted file mode 100644 index 26983a8f..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/xdmapcie-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "xdmapcie" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/xdmapcie/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/xdmapcie_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/xdmapcie_2024.1.bb new file mode 100644 index 00000000..cab8e9d0 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/xdmapcie_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "xdmapcie" + +inherit esw python3native + +DEPENDS += "xilstandalone" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/xdmapcie/src/" +ESW_COMPONENT_NAME = "libxdmapcie.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/xdmapcie_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/xdmapcie_git.bb deleted file mode 100644 index cab8e9d0..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/xdmapcie_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "xdmapcie" - -inherit esw python3native - -DEPENDS += "xilstandalone" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/xdmapcie/src/" -ESW_COMPONENT_NAME = "libxdmapcie.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet-example_2024.1.bb new file mode 100644 index 00000000..d6a87183 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "xxvethernet" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/xxvethernet/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet-example_git.bb deleted file mode 100644 index d6a87183..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "xxvethernet" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/xxvethernet/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet_2024.1.bb new file mode 100644 index 00000000..491eb07c --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "xxvethernet" + +inherit esw python3native + +DEPENDS += "xilstandalone" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/xxvethernet/src/" +ESW_COMPONENT_NAME = "libxxvethernet.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet_git.bb deleted file mode 100644 index 491eb07c..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/xxvethernet_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "xxvethernet" - -inherit esw python3native - -DEPENDS += "xilstandalone" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/xxvethernet/src/" -ESW_COMPONENT_NAME = "libxxvethernet.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/zdma-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/zdma-example_2024.1.bb new file mode 100644 index 00000000..e74e3279 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/zdma-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "zdma" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/zdma/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/zdma-example_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/zdma-example_git.bb deleted file mode 100644 index e74e3279..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/zdma-example_git.bb +++ /dev/null @@ -1,5 +0,0 @@ -inherit esw_examples features_check - -REQUIRED_MACHINE_FEATURES = "zdma" - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/zdma/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/zdma_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/zdma_2024.1.bb new file mode 100644 index 00000000..e987f560 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/zdma_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "zdma" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/zdma/src/" +ESW_COMPONENT_NAME = "libzdma.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/zdma_git.bb b/meta-xilinx-standalone-experimental/recipes-drivers/zdma_git.bb deleted file mode 100644 index e987f560..00000000 --- a/meta-xilinx-standalone-experimental/recipes-drivers/zdma_git.bb +++ /dev/null @@ -1,13 +0,0 @@ -inherit features_check - -REQUIRED_MACHINE_FEATURES = "zdma" - -inherit esw python3native - -DEPENDS += "xilstandalone " - -ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/zdma/src/" -ESW_COMPONENT_NAME = "libzdma.a" - -addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot -do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/freertos10-xilinx_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-libraries/freertos10-xilinx_2024.1.bb new file mode 100644 index 00000000..22d7955e --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-libraries/freertos10-xilinx_2024.1.bb @@ -0,0 +1,15 @@ +inherit esw python3native + +ESW_COMPONENT_SRC = "/ThirdParty/bsp/freertos10_xilinx/src/" +ESW_COMPONENT_NAME = "libfreertos.a" + +DEPENDS += "libxil xilstandalone xiltimer" + +do_configure:prepend() { + # This script should also not rely on relative paths and such + ( + cd ${S} + lopper ${DTS_FILE} -- bmcmake_metadata_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} hwcmake_metadata ${S} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ + ) +} diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/freertos10-xilinx_git.bb b/meta-xilinx-standalone-experimental/recipes-libraries/freertos10-xilinx_git.bb deleted file mode 100644 index 22d7955e..00000000 --- a/meta-xilinx-standalone-experimental/recipes-libraries/freertos10-xilinx_git.bb +++ /dev/null @@ -1,15 +0,0 @@ -inherit esw python3native - -ESW_COMPONENT_SRC = "/ThirdParty/bsp/freertos10_xilinx/src/" -ESW_COMPONENT_NAME = "libfreertos.a" - -DEPENDS += "libxil xilstandalone xiltimer" - -do_configure:prepend() { - # This script should also not rely on relative paths and such - ( - cd ${S} - lopper ${DTS_FILE} -- bmcmake_metadata_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} hwcmake_metadata ${S} - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ - ) -} diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/libxil_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-libraries/libxil_2024.1.bb new file mode 100644 index 00000000..8f33c848 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-libraries/libxil_2024.1.bb @@ -0,0 +1,50 @@ +inherit esw python3native features_check + +LIBXIL_CONFIG ??= "" +include ${LIBXIL_CONFIG} + +# The python code allows us to use an include above, instead of require +# as it enforces that the file will be available for inclusion. It also +# gives the user feedback if something isn't configured properly. +python () { + libxil_cfg = d.getVar("LIBXIL_CONFIG") + if libxil_cfg: + bbpath = d.getVar('BBPATH') + libxil_path = bb.utils.which(bbpath, libxil_cfg) + if libxil_path: + return + else: + d.setVar('BB_DONT_CACHE', '1') + bb.parse.SkipRecipe("LIBXIL_CONFIG (%s) was not found." % libxil_cfg) + else: + d.setVar('BB_DONT_CACHE', '1') + raise bb.parse.SkipRecipe("No LIBXIL_CONFIG set.") +} + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/" +ESW_COMPONENT_NAME = "libxil.a" + +DEPENDS += "xilstandalone " +REQUIRED_MACHINE_FEATURES = "${MACHINE_FEATURES}" +PACKAGECONFIG ?= "${MACHINE_FEATURES}" + +do_compile() { + # Combines the .a archives produced by all of the dependent items + cd ${RECIPE_SYSROOT}/usr/lib/ + echo create libxil.a > libxil.mri + for each in ${REQUIRED_MACHINE_FEATURES}; do + each=$(echo $each | sed 's/-/_/g') + if [ -e lib$each.a ]; then + echo addlib lib$each.a >> libxil.mri + fi + done + echo “save” >> libxil.mri + echo “end” >> libxil.mri + ${AR} -M libxil.mri - for each in ${REQUIRED_MACHINE_FEATURES}; do - each=$(echo $each | sed 's/-/_/g') - if [ -e lib$each.a ]; then - echo addlib lib$each.a >> libxil.mri - fi - done - echo “save” >> libxil.mri - echo “end” >> libxil.mri - ${AR} -M Date: Thu, 19 Oct 2023 12:08:50 -0500 Subject: meta-xilinx-standalone-experimental: Remove custom ESW repository The experimental support has been merged into the base ESW repository defined in meta-xilinx-standalone. Signed-off-by: Mark Hatle --- meta-xilinx-standalone-experimental/classes/esw.bbclass | 3 --- .../conf/dtb-embeddedsw.inc | 14 -------------- .../recipes-bsp/embeddedsw/esw-conf_2024.1.bb | 3 --- 3 files changed, 20 deletions(-) delete mode 100644 meta-xilinx-standalone-experimental/conf/dtb-embeddedsw.inc diff --git a/meta-xilinx-standalone-experimental/classes/esw.bbclass b/meta-xilinx-standalone-experimental/classes/esw.bbclass index a597a81c..2f4d7277 100644 --- a/meta-xilinx-standalone-experimental/classes/esw.bbclass +++ b/meta-xilinx-standalone-experimental/classes/esw.bbclass @@ -2,9 +2,6 @@ PV = "${ESW_VER}" inherit python3native xlnx-embeddedsw pkgconfig cmake -# Override xlnx-embeddedsw with out version -require conf/dtb-embeddedsw.inc - SRCREV_FORMAT = "src_decouple" S = "${WORKDIR}/git" diff --git a/meta-xilinx-standalone-experimental/conf/dtb-embeddedsw.inc b/meta-xilinx-standalone-experimental/conf/dtb-embeddedsw.inc deleted file mode 100644 index 2ddb173d..00000000 --- a/meta-xilinx-standalone-experimental/conf/dtb-embeddedsw.inc +++ /dev/null @@ -1,14 +0,0 @@ -# The format of this file must be compatible with -# meta-xilinx/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass - -# Make it clear decoupling is 'experimental' in the version -ESW_VER = "2023_sdt_experimental" - -REPO = "git://github.com/Xilinx/embeddedsw-experimental-dt-support.git;protocol=https" - -ESW_BRANCH[2023_sdt_experimental] = "xlnx_rel_v2023.2_sdt" -ESW_REV[2023_sdt_experimental] = "742a608800e7621fb7c376daf5124333b5826d6d" -LIC_FILES_CHKSUM[master] = '7c92de7a21a6613265035c28f4a92f48' -LIC_FILES_CHKSUM[xlnx_rel_v2022.1_sdt_experimental_beta] = 'e26f53a7d6f58f4b1a9687099417225c' -LIC_FILES_CHKSUM[xlnx_rel_v2023.1_sdt_experimental] = 'ce611484168a6000bd35df68fc4f4290' -LIC_FILES_CHKSUM[xlnx_rel_v2023.2_sdt] = 'ce611484168a6000bd35df68fc4f4290' diff --git a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/esw-conf_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/esw-conf_2024.1.bb index e6cf1d8b..f99db010 100644 --- a/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/esw-conf_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-bsp/embeddedsw/esw-conf_2024.1.bb @@ -1,9 +1,6 @@ # Can't depend on esw since this is needed for setup! inherit xlnx-embeddedsw -# We need to override the inherit -require conf/dtb-embeddedsw.inc - S = "${WORKDIR}/git" B = "${WORKDIR}/build" -- cgit v1.2.3-54-g00ecf From 2fca1dcb50f0995d08ab03f3d0990a03b186ccb3 Mon Sep 17 00:00:00 2001 From: Appana Durga Kedareswara rao Date: Wed, 18 Oct 2023 15:54:09 +0530 Subject: lopper: srcrev update for the 2024.1 release Below are the updates tree: count indexes for dropped records spec: document extended yaml operators yaml: expand all chunks of json into numbered nodes tree: improve phandle map variable field handling yaml: resolve json properties after setting pclass base/phandle: add expression to clock phandle description lopper: assists: gen_domain_dts: Fix race condition in deleting the cluster cpu node lopper: assists: xlnx_overlay_dt: Remove deprecated lopper_tree imports lopper: assists: baremetalconfig_xlnx: Don't generate config file in case driver is compatible with the given sdt openamp: xlnx: Update channel check to account for 0 openamp: xlnx: Enable multiple channels in YAML openamp: xlnx: remove old openamp zynq logic openamp: xlnx: Enable Zynq Platform via updated module flow lopper: assists: Add support for pruned system device-tree assists/domain: respect -t flag to lopper tree: enhance phandle handling for variable sized fields lopper: assists: gen_domain_dts: Add assist for generating processor specific dts tree: decreate duplicate node verbosity yaml: switch output to logging format assists/isospec: change no-flags/default for devices tree: convert to logger and f-string format lopper: convert debug to logger and f-strings logging: ensure that the root logger has the same level as subloggers lopper: move logging to reusable location lopper:assists:baremetallinker_xlnx Correcting logic to get the stack and heap data from yaml lopper:assists:baremetal_xparameters_xlnx: Removing the BOARD dependency on compatible string docs: add 'output' lop operation documentation lopper: assists: If options has outdir option consider it as precedence lopper: __init__: Add support for optional outdir feature when assist called from lops lopper: add "cond" property to lops assists:baremetal_xparameters_xlnx: Fix for the wrong reuse of variable "index" lopper: assists: Add proper checks for chosen node handling lopper: assists: baremetal_xparameters_xlnx: Fix race condition in the additionalProperties handling lopper:assists:baremetal_config : Add flexibility for padding number lopper:assists:baremetal_xparameters : Adding support to add a 64 bit property in xparameters lopper: assists: baremetal_xparameters_xlnx: Ignore Subnodes lopper:assists:baremetalconfig : Adding support to read a 64 bit property from a node on demand lopper: assists: baremetallinker_xlnx: Fix UnboundLocalError has_ocm lopper: assists: baremetallinker_xlnx: Fix race condition in the memtest config lopper: assists: bmcmake_metadata_xlnx: fix type in driver name lopper: assists: baremetal_xparameters_xlnx: Add support for generating XSEM_CFRSCAN_EN and XSEM_NPISCAN_EN defines lopper: assists: baremetallinker_xlnx: Update the process checks for all cores instead of 0th instance lopper: assists: baremetallinker_xlnx: Add support for linker_constraints openamp: xlnx: Add Host specific values lopper: assists: bmcmake_metadata_xlnx: Generate CMAKE_MACHINE variable for microblaze processor lopper: assists: baremetal_xparameters_xlnx: Fix IndexError in assist lopper: assists: baremetal_gentestapp_xlnx: Update the assist to handle versioned drivers Signed-off-by: Appana Durga Kedareswara rao Signed-off-by: Mark Hatle --- .../virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend index 56cb8a45..8e09bfc7 100644 --- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend @@ -1,5 +1,5 @@ SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=master;protocol=https" -SRCREV = "807435ae6fa0a07e8c84b458d138f3f54614eb5c" +SRCREV = "657c7d67aba7f1694f2e6ece5cfbdf94eaf4d960" FILESEXTRAPATHS:prepend := "${THISDIR}/lopper:" -- cgit v1.2.3-54-g00ecf From 55f8ef835dc2356479dbefd187fd92b5a16b7b88 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Thu, 26 Oct 2023 16:17:13 -0500 Subject: meta-xilinx-core: linux-xlnx: Reset 2024.1 for development 2024.1 has been reset back to 6.1.0 version, but is otherwise functionally similar to the 6.1.30 release from 2023.2. Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/layer.conf | 2 +- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/meta-xilinx-core/conf/layer.conf b/meta-xilinx-core/conf/layer.conf index 1a2b2777..60b709dd 100644 --- a/meta-xilinx-core/conf/layer.conf +++ b/meta-xilinx-core/conf/layer.conf @@ -68,7 +68,7 @@ PREFERRED_VERSION_u-boot-tools-xlnx ?= "${@d.getVarFlag('XILINX_UBOOT_VERSION', XILINX_LINUX_VERSION[v2023.1] = "6.1.5-xilinx-v2023.1%" XILINX_LINUX_VERSION[v2023.2] = "6.1.30-xilinx-v2023.2%" -XILINX_LINUX_VERSION[v2024.1] = "6.1.30-xilinx-v2024.1%" +XILINX_LINUX_VERSION[v2024.1] = "6.1.0-xilinx-v2024.1%" PREFERRED_VERSION_linux-xlnx ?= "${@d.getVarFlag('XILINX_LINUX_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" # Add support to eSDK for gen-machine-conf if it exists diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index 8842cb10..2a0dfe97 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ -LINUX_VERSION = "6.1.30" +LINUX_VERSION = "6.1.0" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.1;destsuffix=yocto-kmeta" -KBRANCH="xlnx_rebase_v6.1_LTS" -SRCREV = "a19da02cf5b44420ec6afb1eef348c21d9e8cda2" +KBRANCH="master" +SRCREV = "c8b3583bc86352009c6ac61e2ced0e12118f8ebb" SRCREV_meta = "185bcfcbe480c742247d9117011794c69682914f" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From cbd127ed42e98cca9ee67ccf1c4818c0c3e0c1b0 Mon Sep 17 00:00:00 2001 From: John Toomey Date: Mon, 23 Oct 2023 10:07:26 +0100 Subject: dt-processor: Fix issues with test command Signed-off-by: John Toomey Signed-off-by: Mark Hatle --- .../recipes-core/meta/files/dt-processor.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-standalone-experimental/recipes-core/meta/files/dt-processor.sh b/meta-xilinx-standalone-experimental/recipes-core/meta/files/dt-processor.sh index 1c754689..910d73a9 100755 --- a/meta-xilinx-standalone-experimental/recipes-core/meta/files/dt-processor.sh +++ b/meta-xilinx-standalone-experimental/recipes-core/meta/files/dt-processor.sh @@ -865,7 +865,7 @@ generate_machine() { # Machine include file if [ -z ${incmachine} ]; then - if [ -n ${soc_variant} ]; then + if [ -n "${soc_variant}" ]; then incmachine="${machine}-${soc_variant}-generic.conf" else incmachine="${machine}-generic.conf" @@ -1189,7 +1189,7 @@ if [ -z "${mach_conf}" ]; then mach_conf=${local_mach_conf} fi -if [ -z "${dts_path}"]; then +if [ -z "${dts_path}" ]; then dts_path=${local_mach_conf} fi # Is it relative? If so, relative to conf/dts -- cgit v1.2.3-54-g00ecf From 1f5710c8b1e744d42da794afd30c8ec151f45515 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Thu, 26 Oct 2023 20:48:32 -0500 Subject: dt-processor.sh: No longer need PREFERRED_VERSION for sdt workflow Signed-off-by: Mark Hatle --- .../recipes-core/meta/files/dt-processor.sh | 6 ------ 1 file changed, 6 deletions(-) diff --git a/meta-xilinx-standalone-experimental/recipes-core/meta/files/dt-processor.sh b/meta-xilinx-standalone-experimental/recipes-core/meta/files/dt-processor.sh index 910d73a9..004bf258 100755 --- a/meta-xilinx-standalone-experimental/recipes-core/meta/files/dt-processor.sh +++ b/meta-xilinx-standalone-experimental/recipes-core/meta/files/dt-processor.sh @@ -986,12 +986,6 @@ EOF fi cat <>"${conf_file}" -# Enable the correct version of the firmware components -PREFERRED_VERSION_fsbl-firmware = "2023_sdt_experimental%" -PREFERRED_VERSION_pmu-firmware = "2023_sdt_experimental%" -PREFERRED_VERSION_plm-firmware = "2023_sdt_experimental%" -PREFERRED_VERSION_psm-firmware = "2023_sdt_experimental%" - # Exclude BASE_TMPDIR from hash calculations BB_HASHEXCLUDE_COMMON:append = " BASE_TMPDIR" -- cgit v1.2.3-54-g00ecf From 1be0239558d3b6d1a0d92759543f6ad6695e9e0a Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Fri, 27 Oct 2023 07:44:26 -0600 Subject: xlnx-embeddedsw: Define a floating git version While the 'git' version should never be preferred, some may find it useful for development. However, this was causing a parse error in some configurations: fsbl-firmware_git.bb: Exception during build_dependencies for T bb.data_smart.ExpansionError: Failure expanding variable SRCPV, expression was ${@bb.fetch2.get_srcrev(d)} which triggered exception FetchError: Fetcher failure: Unable to resolve 'git' in upstream git repository in git ls-remote output for github.com/Xilinx/embeddedsw.git The variable dependency chain for the failure is: SRCPV -> PV -> WORKDIR -> T Signed-off-by: Mark Hatle --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index be44149d..89a86997 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -3,11 +3,13 @@ ESW_VER ?= "${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or 'master' REPO ??= "git://github.com/Xilinx/embeddedsw.git;protocol=https" +ESW_BRANCH[git] = "master" ESW_BRANCH[2023.1] = "xlnx_rel_v2023.1_update" ESW_BRANCH[2023.2] = "xlnx_rel_v2023.2" ESW_BRANCH[2024.1] = "master-next" BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" +ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" ESW_REV[2024.1] = "2cb906f0bf0b18571bc0887daf32d8428ee8c435" @@ -17,6 +19,7 @@ EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH' EMBEDDEDSW_SRCURI ?= "${REPO};${EMBEDDEDSW_BRANCHARG}" LICENSE = "MIT" +LIC_FILES_CHKSUM[master] = '9fceecdbcad88698f265578f3d4cb26c' LIC_FILES_CHKSUM[xlnx_rel_v2023.1_update] = '3c310a3ee2197a4c92c6a0e2937c207c' LIC_FILES_CHKSUM[xlnx_rel_v2023.2] = '9fceecdbcad88698f265578f3d4cb26c' LIC_FILES_CHKSUM[master-next] = '9fceecdbcad88698f265578f3d4cb26c' -- cgit v1.2.3-54-g00ecf From ba270b528d53cc425060f7c4bbf75cf0f57d4308 Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Wed, 1 Nov 2023 12:30:12 +0530 Subject: Updated Commit ID yocto_machine.py: update kernel load address for microblaze Signed-off-by: Siva Addepalli --- meta-xilinx-core/gen-machine-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf index 0348e837..8d048053 160000 --- a/meta-xilinx-core/gen-machine-conf +++ b/meta-xilinx-core/gen-machine-conf @@ -1 +1 @@ -Subproject commit 0348e83779402e647eb8023cac171062df5c1fba +Subproject commit 8d0480538ace3281b17bf04bf049e46de28fc317 -- cgit v1.2.3-54-g00ecf From d8766ac9a2a3670f2dcc9341c1fd1e49a8b74816 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 1 Nov 2023 12:52:07 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_5195 ospipsv: data: Update dependency_files inorder to pull dependency files automatically ospipsv: data: Update driver version i2srx: Add SDT support for I2S Receiver drivers i2srx: Add support for SDT support for I2SRX drivers vphy: Add support for system device-tree flow vphy: Add support for system device-tree flow uartlite: Fix yaml file to pull the uartlite driver v_hdmitxss1: Add support for SDT flow v_hdmitx1: Add support for SDT flow v_hdmirxss1: Add support for SDT flow v_hdmirx1: Add support for SDT flow v_hdmiphy1: Add support for SDT flow v_hdmi_common: Add support for SDT flow --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 89a86997..ac33b532 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "2cb906f0bf0b18571bc0887daf32d8428ee8c435" +ESW_REV[2024.1] = "d5d33326102d9d2e3d4063989b0269126a75a433" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From bd869a9099ac73003e190e9c8b80295e854edc2e Mon Sep 17 00:00:00 2001 From: Sachin Kedare Date: Tue, 31 Oct 2023 16:02:09 +0530 Subject: Updating Yocto device-tree variable from BOARD template to versal-vck500-reva stable build vck5000 got fail due to board template in yocto device-tree variable so changing to versal-vck5000-reva Signed-off-by: Sachin Kedare Signed-off-by: Mark Hatle --- meta-xilinx-bsp/conf/machine/vck5000-versal.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-bsp/conf/machine/vck5000-versal.conf b/meta-xilinx-bsp/conf/machine/vck5000-versal.conf index 9396bd97..1e9125a2 100644 --- a/meta-xilinx-bsp/conf/machine/vck5000-versal.conf +++ b/meta-xilinx-bsp/conf/machine/vck5000-versal.conf @@ -12,7 +12,7 @@ MACHINEOVERRIDES =. "${@['', 'vck5000-versal:']['vck5000-versal' !='${MACHINE}'] # Yocto device-tree variables YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "versal_cips_0_pspmc_0_psv_sbsauart_0" -YAML_DT_BOARD_FLAGS ?= "{BOARD template}" +YAML_DT_BOARD_FLAGS ?= "{BOARD versal-vck5000-reva}" # Yocto arm-trusted-firmware(TF-A) variables ATF_CONSOLE ?= "pl011" -- cgit v1.2.3-54-g00ecf From 994d7f45e4a93ee092c02e9c14411418377e0b13 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Tue, 31 Oct 2023 08:49:33 -0600 Subject: README.md: Update SDT build instructions Update System Device tree build instructions. README-setup is deprecated instead use gen-machineconf tool to parse sdtgen output and generate machine configuration files. Also add meta-virtualization layer dependencies in README.md file as this is required for lopper tool. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- meta-xilinx-standalone-experimental/README.md | 122 +++++++++++++++++++++----- 1 file changed, 101 insertions(+), 21 deletions(-) diff --git a/meta-xilinx-standalone-experimental/README.md b/meta-xilinx-standalone-experimental/README.md index 31aa0f63..90f893cf 100644 --- a/meta-xilinx-standalone-experimental/README.md +++ b/meta-xilinx-standalone-experimental/README.md @@ -1,44 +1,122 @@ # meta-xilinx-standalone-experimental -This layer contains experimental items that may eventually be added -to the meta-xilinx-standalone layer. The components in this layer -may or may not be buildable as they may require unreleased code. +This layer contains experimental items that may eventually be added to the +meta-xilinx-standalone layer. The components in this layer may or may not be +buildable as they may require unreleased code. -The non-Linux software components are still in development and -this should be considered to be a preview release only. For instance, -some components may not be buildable, expect APIs to change on various -parts and pieces. +The non-Linux software components are still in development and this should be +considered to be a preview release only. For instance, some components may not +be buildable, expect APIs to change on various parts and pieces. ## Build Instructions -**Note:** to use this layer you must REMOVE meta-xilinx-tools from your -project. meta-xilinx-tools is not compatible with this experimental -approach. You may also have to remove other layers that depend -on meta-xilinx-tools, such as meta-kria and meta-system-controller. +> **Note:** +> * To use this layer you must REMOVE meta-xilinx-tools from your project. +meta-xilinx-tools is not compatible with this experimental approach. You may +also have to remove other layers that depend on meta-xilinx-tools, such as +meta-kria and meta-system-controller. +> * To use the experimental version of the embedded software (firmware) as well +as system configuration, you must build through gen-machineconf tool. This tool +is passed a output of system device tree directory. -To use the experimental version of the embedded software (firmware) -as well as system configuration, you must build the 'meta-xilinx-setup' -SDK. This SDK is passed a device tree, constructed from System Device tree and -produces a number of configuration files. +The Yocto Project setup for the System Device Tree workflow is as follows. +Be sure to read everything below. -1. Remove meta-xilinx-tools, meta-kria and meta-system-controller, then add the decoupling layer +1. Follow [Building Instructions](https://github.com/Xilinx/meta-xilinx/blob/master/README.building.md) + upto step 4. + +2. Remove meta-xilinx-tools and meta-xilinx-tools dependency layers(such as + meta-kria and meta-system-controller if included in bblayers.conf), then add + the meta-xilinx-standalone-experimental layer. ``` $ bitbake-layers remove-layer meta-xilinx-tools $ bitbake-layers remove-layer meta-kria $ bitbake-layers remove-layer meta-system-controller $ bitbake-layers add-layer .//meta-xilinx/meta-xilinx-standalone-experimental ``` -2. Build the setup SDK + +3. Export gen-machineconf tool. +``` +$ export PATH=$PATH:/gen-machine-conf +``` + +4. Run the script from the build or ${TOPDIR} directory. +``` + $ gen-machineconf --hw-description -c -l conf/local.conf ``` -$ bitbake meta-xilinx-setup +> **Note:** +> 1. The -l option will automatically add the necessary parameters to the + local.conf file. If you need to re-run this comment, you just clear the + parameters from the end of the file. Without the -l option the items are + printed to the screen and must be manually added to your conf/local.conf +> 2. The --soc-family argument is an optional argument and user can skip this. + +For example, zynqmp: +``` +$ gen-machineconf --soc-family zynqmp --hw-description -c conf/ -l conf/local.conf ``` -3. Install the setup SDK: +The following will be written to the end of the conf/local.conf file: + ``` -$ .${TMPDIR}/tmp/deploy/sdk/x86_64-xilinx-nativesdk-prestep-2023.2....sh -d prestep -y +# Each multiconfig will define it's own TMPDIR, this is the new default based +# on BASE_TMPDIR for the Linux build +TMPDIR = "${BASE_TMPDIR}/tmp" + +# Use the newly generated MACHINE +MACHINE = "xlnx-zynqmp-zcu102-rev1-0" + +# All of the TMPDIRs must be in a common parent directory. This is defined +# as BASE_TMPDIR. +# Adjust BASE_TMPDIR if you want to move the tmpdirs elsewhere, such as /tmp +BASE_TMPDIR ?= "${TOPDIR}" + +# The following is the full set of multiconfigs for this configuration +# A large list can cause a slow parse. +BBMULTICONFIG = " cortexa53-0-zynqmp-fsbl-baremetal cortexa53-0-zynqmp-baremetal cortexa53-0-zynqmp-freertos cortexa53-1-zynqmp-baremetal cortexa53-1-zynqmp-freertos cortexa53-2-zynqmp-baremetal cortexa53-2-zynqmp-freertos cortexa53-3-zynqmp-baremetal cortexa53-3-zynqmp-freertos cortexr5-0-zynqmp-fsbl-baremetal cortexr5-0-zynqmp-baremetal cortexr5-0-zynqmp-freertos cortexr5-1-zynqmp-baremetal cortexr5-1-zynqmp-freertos microblaze-0-pmu" +# Alternatively trim the list to the minimum +#BBMULTICONFIG = " cortexa53-0-zynqmp-fsbl-baremetal microblaze-0-pmu" ``` -Then follow the instructions in the 'prestep/README-setup' file. +For example, versal: +``` +$ gen-machineconf --soc-family versal --hw-description -c conf/ -l conf/local.conf +``` + +The following will be written to the end of the conf/local.conf file: + +``` +# Each multiconfig will define it's own TMPDIR, this is the new default based +# on BASE_TMPDIR for the Linux build +TMPDIR = "${BASE_TMPDIR}/tmp" + +# Use the newly generated MACHINE +MACHINE = "xlnx-versal-vmk180-rev1-1-x-ebm-01-reva" + +# All of the TMPDIRs must be in a common parent directory. This is defined +# as BASE_TMPDIR. +# Adjust BASE_TMPDIR if you want to move the tmpdirs elsewhere, such as /tmp +BASE_TMPDIR ?= "${TOPDIR}" + +# The following is the full set of multiconfigs for this configuration +# A large list can cause a slow parse. +BBMULTICONFIG = " cortexa72-0-versal-baremetal cortexa72-0-versal-freertos cortexa72-1-versal-baremetal cortexa72-1-versal-freertos microblaze-0-pmc microblaze-0-psm cortexr5-0-versal-baremetal cortexr5-0-versal-freertos cortexr5-1-versal-baremetal cortexr5-1-versal-freertos" +# Alternatively trim the list to the minimum +#BBMULTICONFIG = " microblaze-0-pmc microblaze-0-psm" +``` +> **Bitbake Performance Note:** +Each BBMULTICONFIG value requires all of the recipes to be parsed for that +configuration. Thus each multiconfig will add more parsing time. A long list +can lead to a very slow parse (many minutes). To speed up parsing, it is +suggested that you trim this down to only the configurations you require. +A minimum configuration is included with the generated configuration. + + +5. Build your project, You should now be able to build your project normally. + See the Yocto Project documentation if you have questions on how to work with + the multiconfig recipes. The following is a simple build for testing. +6. Continue [Building Instructions](https://github.com/Xilinx/meta-xilinx/blob/master/README.building.md) + from step 6. ## Dependencies @@ -58,3 +136,5 @@ This layer depends on: layers: meta-xilinx-core, meta-xilinx-bsp, meta-xilinx-standalone branch: langdale or amd xilinx release version (e.g. rel-v2023.1) + URI: https://git.yoctoproject.org/meta-virtualization + branch: langdale -- cgit v1.2.3-54-g00ecf From dbcc3152592f2677c7d73054ca57645199cddc81 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Tue, 31 Oct 2023 08:49:34 -0600 Subject: README.building.md: Update build instructions 1. Add meta-virtualization layer dependencies in README.md file as this is required for lopper tool for SDT build flow. 2. Remove machine table list and point to meta layer README. 3. Update build instructions for wic image and setting up tap devices. 4. Add instructions to clone gen-machine-conf repo submodules. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- README.building.md | 82 +++++++++++++++++++++++++++++++----------------------- 1 file changed, 47 insertions(+), 35 deletions(-) diff --git a/README.building.md b/README.building.md index 7ffc1ab3..10c246f9 100644 --- a/README.building.md +++ b/README.building.md @@ -17,13 +17,22 @@ $ cd sources > **Note:** > * *release_branch:* refers to upstream stable release branch. > * *rel-version:* refers to amd xilinx release version. + ``` $ mkdir sources $ git clone -b https://git.yoctoproject.org/poky.git $ git clone -b https://git.openembedded.org/meta-openembedded.git +$ git clone -b https://git.yoctoproject.org/git/meta-virtualization $ git clone -b https://github.com/Xilinx/meta-xilinx.git $ git clone -b https://github.com/Xilinx/meta-xilinx-tools.git ``` +> **Note:** When meta-xilinx layer is cloned using git tool by default it will +> not clone [gen-machine-conf](https://github.com/Xilinx/gen-machine-conf.git) +> repo as submodules, make sure this repo https://github.com/Xilinx/meta-xilinx.git +> is cloned using `--recurse-submodules` option as shown. +> `$ git clone -b https://github.com/Xilinx/meta-xilinx.git --recurse-submodules` +> Skip this step if you are using yocto-manifests https://github.com/Xilinx/yocto-manifests + 3. Initialize a build environment using the `oe-init-build-env` script. ``` $ source poky/oe-init-build-env @@ -39,6 +48,7 @@ $ bitbake-layers add-layer .//meta-openembedded/meta-oe $ bitbake-layers add-layer .//meta-openembedded/meta-python $ bitbake-layers add-layer .//meta-openembedded/meta-filesystems $ bitbake-layers add-layer .//meta-openembedded/meta-networking +$ bitbake-layers add-layer .//meta-virtualization $ bitbake-layers add-layer .//meta-xilinx/meta-microbalze $ bitbake-layers add-layer .//meta-xilinx/meta-xilinx-core $ bitbake-layers add-layer .//meta-xilinx/meta-xilinx-standalone @@ -55,45 +65,47 @@ $ bitbake-layers add-layer .//meta-xilinx-tools ``` MACHINE = "" ``` -Available target machines are: - -| Device | target machines | -|------------|---------------------| -| MicroBlaze | microblaze-generic | -| | ac701-microblazeel | -| | kc705-microblazeel | -| | kcu105-microblazeel | -| | vcu118-microblazeel | -| Zynq-7000 | zynq-generic | -| | zc702-zynq7 | -| | zc706-zynq7 | -| ZynqMP | zynqmp-generic | -| | zcu102-zynqmp | -| | zcu104-zynqmp | -| | zcu106-zynqmp | -| | zcu111-zynqmp | -| | zcu208-zynqmp | -| | zcu216-zynqmp | -| | zcu670-zynqmp | -| | zcu1275-zynqmp | -| | zcu1285-zynqmp | -| | ultra96-zynqmp | -| Versal | versal-generic | -| | versal-net-generic | -| | vck190-versal | -| | vmk180-versal | -| | vek280-versal | -| | vpk120-versal | -| | vpk180-versal | -| | vhk158-versal | - -6. Build an OS image for the target using `bitbake` command. +* For list of available target machines see meta layer README files. + + * [meta-xilinx-bsp README](https://github.com/Xilinx/meta-xilinx/tree/master/meta-xilinx-bsp#amd-xilinx-evaluation-boards-bsp-machines-files) + * [meta-kria README](https://github.com/Xilinx/meta-xilinx/tree/master/meta-xilinx-bsp#amd-xilinx-evaluation-boards-bsp-machines-files) + +6. For NFS build host system modify the build/conf/local.conf and add TMPDIR + path as shown below. On local storage $TMPDIR will be set to build/tmp +``` +TMPDIR = "/tmp/$USER/yocto/release_version/build" +``` + +7. Modify the build/conf/local.conf file to add wic image to default target + image as shown below. +``` +IMAGE_FSTYPES += "wic" +WKS_FILES = "xilinx-default-sd.wks" +``` + +8. Build the qemu-helper-native package to setup QEMU network tap devices. +``` +$ bitbake qemu-helper-native +``` + +9. Manually configure a tap interface for your build system. As root run + /sources/poky/scripts/runqemu-gen-tapdevs, which should generate a + list of tap devices. Once tap interfaces are successfully create you should + be able to see all the interfaces by running ifconfig command. + +``` +$ sudo .//poky/scripts/runqemu-gen-tapdevs $(id -u $USER) $(id -g $USER) 4 tmp/sysroots-components/x86_64/qemu-helper-native/usr/bin +``` + +10. Build an OS image for the target using `bitbake` command. > **Note:** Refer .//conf/templates/default/conf-notes.txt -> for available target image-name. e.g. core-image-minimal +> for available target image-name. e.g. core-image-minimal or petalinux-image-minimal ``` -$ bitbake +$ bitbake ``` 7. Once complete the images for the target machine will be available in the output directory `${TMPDIR}/deploy/images/${MACHINE}/`. + +8. Follow [Booting Instructions](https://github.com/Xilinx/meta-xilinx/blob/master/README.booting.md) -- cgit v1.2.3-54-g00ecf From a1ce9c028b4316643a99a64b93523dae85ebe40c Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Tue, 31 Oct 2023 08:49:35 -0600 Subject: README.booting.md: Update boot instructions using slirp mode Update boot instructions using slirp mode when tap devices are not configured. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- README.booting.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/README.booting.md b/README.booting.md index 0f96a138..a632d7f9 100644 --- a/README.booting.md +++ b/README.booting.md @@ -5,10 +5,22 @@ AMD Xilinx Devices support different boot modes such as JTAG, SD, eMMC, QSPI etc ## Booting Images with QEMU Once images are built, you can simulate the image using QEMU emulator. + +> **Note:** Use `slirp` option if you don't have sudo permissions and tap devices + are enabled on your build host. + +* Without slirp ``` $ MACHINE= runqemu nographic ``` +* With slirp +``` +$ MACHINE= runqemu nographic slirp +``` + +> **Note:** To terminate qemu, usually the command is ctrl-a x + ## Booting Images with Hardware Follow booting instructions [README](docs) for more details. -- cgit v1.2.3-54-g00ecf From fa788430b0ee2b4fd4dd5e8b14434e5bbca621f7 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Tue, 31 Oct 2023 08:49:36 -0600 Subject: README.booting.storage.md: Update wic instructions Update wic image flashing instructions for SD/eMMC boots. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- docs/README.booting.storage.md | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/docs/README.booting.storage.md b/docs/README.booting.storage.md index 4d33600d..2a1f66a7 100644 --- a/docs/README.booting.storage.md +++ b/docs/README.booting.storage.md @@ -22,7 +22,7 @@ This section describes how to manually prepare and populate an SD card image. There are automation tools in OpenEmbedded that can generate disk images already formatted and prepared such that they can be written directly to a disk. Refer to the Yocto Project Manual for more details: -https://docs.yoctoproject.org/4.1.2/singleindex.html#creating-partitioned-images-using-wic +https://docs.yoctoproject.org/4.1.4/singleindex.html#creating-partitioned-images-using-wic ## Writing image to SD or eMMC device @@ -33,11 +33,17 @@ There are two ways to write the images to SD card or eMMC device. 2. To write image to eMMC device make sure you need to boot Linux from JTAG or SD or QSPI first, then copy the wic image to `/tmp` directory. +> **Note:** `` refers to core-image-minimal or petalinux-image-minimal + ### Using Wic file -Write wic image file to the SD card or eMMC device. +Write wic image file to the SD card or eMMC device. Use dd command or balena +etcher to flash the wic image file to SD card. WIC image will be +build/tmp/deploy/${MACHINE}/-${MACHINE}-${DATETIME}.rootfs.wic, See +[Flashing Images Using bmaptool](https://docs.yoctoproject.org/singleindex.html#flashing-images-using-bmaptool) +for fast and easy way to flash the image ``` -$ sudo dd if=xilinx-default-sd-${DATETIME}-sda.direct of=/dev/mmcblk bs=4M +$ sudo dd if=-${MACHINE}-${DATETIME}.rootfs.wic of=/dev/mmcblk bs=4M ``` ### Using Yocto images @@ -65,12 +71,12 @@ $ cp ${DEPLOY_DIR_IMAGE}/boot.bin /mnt/boot/boot.bin $ cp ${DEPLOY_DIR_IMAGE}/boot.scr /mnt/boot/boot.scr $ cp ${DEPLOY_DIR_IMAGE}/Image /mnt/boot/Image $ cp ${DEPLOY_DIR_IMAGE}/system.dtb /mnt/boot/system.dtb -$ cp ${DEPLOY_DIR_IMAGE}/core-image-minimal-${MACHINE}.cpio.gz.u-boot /mnt/boot/rootfs.cpio.gz.u-boot +$ cp ${DEPLOY_DIR_IMAGE}/-${MACHINE}-${DATETIME}.cpio.gz.u-boot /mnt/boot/rootfs.cpio.gz.u-boot ``` -4. Extract `core-image-minimal-${MACHINE}-${DATETIME}.rootfs.tar.gz` file content to the SD +4. Extract `-${MACHINE}-${DATETIME}.rootfs.tar.gz` file content to the SD card or eMMC device EXT4 partition. ``` -$ sudo tar -xf ${DEPLOY_DIR_IMAGE}/core-image-minimal-${MACHINE}-${DATETIME}.rootfs.tar.gz -C /mnt/rootfs +$ sudo tar -xf ${DEPLOY_DIR_IMAGE}/-${MACHINE}-${DATETIME}.rootfs.tar.gz -C /mnt/rootfs $ sync ``` 5. Unmount the SD Card or eMMC device and boot from SD or eMMC boot modes. @@ -97,10 +103,10 @@ $ sudo lsblk /dev/sd -o NAME,FSTYPE,LABEL,PARTLABEL ``` $ sudo mount -L root /mnt/rootfs` ``` -3. Extract `core-image-minimal-${MACHINE}-${DATETIME}.rootfs.tar.gz` file content +3. Extract `-${MACHINE}-${DATETIME}.rootfs.tar.gz` file content to the USB or SATA device EXT4 partition. ``` -$ sudo tar -xf ${DEPLOY_DIR_IMAGE}/core-image-minimal-${MACHINE}-${DATETIME}.rootfs.tar.gz -C /mnt/rootfs +$ sudo tar -xf ${DEPLOY_DIR_IMAGE}/-${MACHINE}-${DATETIME}.rootfs.tar.gz -C /mnt/rootfs $ sync ``` 4. Unmount the USB or SATA device. -- cgit v1.2.3-54-g00ecf From dd83b512b5dbf1b8f9396e5385e9e5c38d3e91d5 Mon Sep 17 00:00:00 2001 From: Appana Durga Kedareswara rao Date: Tue, 31 Oct 2023 09:46:52 +0530 Subject: meta-xilinx-standalone-experimental: classes: esw: Add task for common meta package DEVICE_ID, BOARD, and other cmake meta-data are being generated in the standalone folder, which won't be available to other modules if other modules try to access this CMake variables it is generated as an empty string. Fix this issue by copying the common CMake meta-data file to the cmake directory, so that other modules can consume it Signed-off-by: Appana Durga Kedareswara rao Signed-off-by: Mark Hatle --- meta-xilinx-standalone-experimental/classes/esw.bbclass | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/meta-xilinx-standalone-experimental/classes/esw.bbclass b/meta-xilinx-standalone-experimental/classes/esw.bbclass index 2f4d7277..a08e04fb 100644 --- a/meta-xilinx-standalone-experimental/classes/esw.bbclass +++ b/meta-xilinx-standalone-experimental/classes/esw.bbclass @@ -95,6 +95,14 @@ do_install() { CFLAGS:append = " ${ESW_CFLAGS}" EXTRA_OECMAKE += "-DYOCTO=ON" +do_configure:prepend() { + ( + cd ${S} + lopper ${DTS_FILE} -- bmcmake_metadata_xlnx ${ESW_MACHINE} ${S}/lib/bsp/standalone/src/ hwcmake_metadata ${S} + install -m 0755 StandaloneExample.cmake ${S}/cmake/Findcommonmeta.cmake + ) +} + # We need to find the license file, which vaires depending on the component # recurse a maximum of x times, could be fancier but it gets complicated since # we dont know for certain we are running devtool or just externalsrc -- cgit v1.2.3-54-g00ecf From a4db4a6fba6b73cdb50232bf6d65af09bc3b1cbc Mon Sep 17 00:00:00 2001 From: Appana Durga Kedareswara rao Date: Tue, 31 Oct 2023 09:46:54 +0530 Subject: lopper: Update srcrev for 2024.1 Below are the updates lopper: lops: lop-domain-linux-a72-prune: prune symbol node lopper: lops: lop-domain-a72-prune: Don't delete pl nodes lopper: assists: xlnx_overlay_dt: Migrate the DT overlays to sugar syntax lopper:assists:xparams: Provide an option to configure the xparam prefix lopper:assists:xparams: Replace the node label name with the IP name in canonical entries Signed-off-by: Appana Durga Kedareswara rao Signed-off-by: Mark Hatle --- .../virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend index 8e09bfc7..80337b29 100644 --- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend @@ -1,5 +1,5 @@ SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=master;protocol=https" -SRCREV = "657c7d67aba7f1694f2e6ece5cfbdf94eaf4d960" +SRCREV = "6e065290dc1976ea78ba3418238c17b5b803afa3" FILESEXTRAPATHS:prepend := "${THISDIR}/lopper:" -- cgit v1.2.3-54-g00ecf From b5cda23f9e2d9135fbf8207240c0ce17d7ea7aba Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 2 Nov 2023 15:12:21 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_2579 csudma: Add a CMake file to support compiling driver examples in the Yocto flow Warp_Init Driver: Warp_Init driver ported for decoupling flow Warp_filter Driver: Warp_filter driver ported for decoupling flow SCD Driver: SCD driver ported for decoupling flow Multiscaler Driver: Multiscaler driver ported for decoupling flow Mixer Driver: Mixer driver ported for decoupling flow Gammalut Driver: Gammalut driver ported for decoupling flow Demosaic Driver: Demosaic driver ported for decoupling flow VPSS Driver: VPSS driver ported for decoupling flow vscaler Driver: vscaler driver ported for decoupling flow vcresampler Driver: vcresampler driver ported for decoupling flow VTC driver: Added interrupts parameter to yaml file. letterbox Driver: letterbox driver ported for decoupling flow hscaler Driver: hscaler driver ported for decoupling flow hcresampler Driver: hcresampler driver ported for decoupling flow Deintercaler Driver: Deintercaler driver ported for decoupling flow CSC Driver: CSC driver ported for decoupling flow i2stx: Add support for system device-tree flow i2stx: Add support for System device-tree flow BSP: Add support for RISC-V delay routines --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index ac33b532..68e15be4 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "d5d33326102d9d2e3d4063989b0269126a75a433" +ESW_REV[2024.1] = "08ab18e1221e768b754f5dc96dd2d25e632632c7" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 6280c4ec070bdfd37566c3f2bb6a0b3b286d4c1f Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 2 Nov 2023 16:12:22 +0530 Subject: linux-xlnx : Updated SRCREV for 2024.1_1555 Revert "firmware: xilinx: Open MMIO read/write interface via debugfs" Revert "include: dt-bindings: Add mscc-vsc8531 RGMII clock delay definitions" Revert "firmware: xilinx: add support for sd/usb/gem config" arm: dts: xilinx: Remove redundant is-dual and is-stacked DT properties Revert "firmware: xilinx: Add ULPI reset support" misc: Get OPEN_DICE/VCPU_STALL_DETECTOR back Revert "remoteproc: Add support for peek from remote and acking kick from remote" Revert "uartlite: Update the default for the parameter" dt-bindings: misc: Remove description for xlnx,fclk clocking-wizard: Sync internal driver with v7 version dt-bindings: clock: xilinx: add versal compatible clocking-wizard: Sync valuem/d/o names with upstream version Revert "clocking-wizard: Add versal clocking wizard support" Revert "dt-bindings: Add versal clocking wizard" arm64: versal: Switch to new xlnx,versal-ddrmc compatible string EDAC/versal: Move driver to its final location edac: zynqmp_edac: Moved driver to new location Revert "i2c: mux: pca954x: write to mux channel always" arm64: versal: Update SE5 Ethernet PHY RGMII properties net: phy: mscc: fix packet loss due to RGMII delays phy: mscc: Add support for RGMII delay configuration phy: mscc: Use PHY_ID_MATCH_VENDOR to minimize PHY ID table net: phy: mscc: enable VSC8501/2 RGMII RX clock net: phy: mscc: remove unnecessary phydev locking Revert "phy: mscc: Add support for VSC8531_02 with RGMII tuning" Revert "dt-bindings: mscc: Add RGMII RX and TX delay tuning" Revert "edac: Add documentation for cortexa53 edac sysfs" soc: xilinx: Remove XPM_NODETYPE_ macro prefix dt-bindings: i2c: xiic: Sync up with upstream Revert "irqchip: xilinx: Make per cpu primary controller entries" Revert "irqchip: xilinx: Move early initialization to own function" Revert "irqchip: xilinx: Add support for sw interrupts" Revert "irqchip: xilinx: Support only LE/BE irqc by the same driver" Revert "irqchip: xilinx: Add support for cpu hotplug" Revert "irqchip: xilinx: Add support for Microblaze SMP" Revert "irqchip: xilinx: Change level for cpu-id warning" Revert "edac: add support for ARM PL310 L2 cache parity" Revert "microblaze: timer: Dont use cpu timer setting" Revert "microblaze: timer: Separate clocksource timer from clockevent one" Revert "microblaze: timer: Pass timer freq via parameter" Revert "microblaze: timer: Squash clocksource code together" Revert "microblaze: timer: Covert timer to use cpu hotplug" Revert "microblaze: timer: Move irq code to clockevent function" Revert "microblaze: timer: Create per cpu clockevent device" Revert "microblaze: timer: Remove global variables" Revert "microblaze: timer: Make sure that clockevent timer is initialized properly" Revert "microblaze: timer: Group clockevent setting together" Revert "microblaze: timer: Detect cpu_id from DT" Revert "microblaze: timer: Change timer initialization setting" Revert "microblaze: timer: Make timer SMP aware" Revert "microblaze: timer: Add condition to check return value" Revert "microblaze: timer: Fix incompatible parameters passed to the function" Revert "microblaze: Change TLB mapping and free space allocation" Revert "microblaze: Define SMP safe bit operations" Revert "microblaze: Make cpuinfo structure SMP aware" Revert "microblaze: Add SMP implementation of xchg and cmpxchg" Revert "microblaze: Remove disabling IRQ while pte_update() run" Revert "microblaze: Implement architecture spinlock" Revert "microblaze: Do atomic operations by using exclusive" Revert "microblaze: Prepare entry.S for SMP implementation" Revert "microblaze: Rework mmu context management to prepare" Revert "microblaze: Enable experimental SMP functionality" Revert "microblaze: Add defconfig and DT for SMP design" Revert "clk: Add ccf driver for IDT 8T49N24x UFT" Revert "dt-bindings: Add binding for IDT 8T49N24x UFT" arm64: zynqmp: Remove description for 8T49N240 Revert "Xilinx: ARM: Devcfg and SLCR drivers updated to support reconfiguration." arm64: versal-net: Add missing xlnx,versal-firmware string arm64: versal-net: Append xlnx,versal-clk to clock node arm64: zynqmp: Remove unused xlnx,phy-type DT property arm64: zynqmp: Add output-enable pins to SOM KD240 arm64: zynqmp: Enable uart0 with pinctrl description arm64: zynqmp: Add support for K26 rev2 boards arm64: zynqmp: Setup default si570 frequency to 156.25MHz arm: dts: xilinx: Remove redundant is-dual and is-stacked DT properties Revert "watchdog: xilinx_wwdt: Add "xlnx,versal-wwdt-1.0" compatible" Revert "dt-bindings: watchdog: xlnx,versal-wwdt: Add "xlnx,versal-wwdt-1.0" compatible" fpga: bridge: make fpga_bridge_class a static const structure fpga: bridge: return errors in the show() method of the "state" attribute fpga: bridge: properly initialize bridge device before populating children fpga: bridge: fix kernel-doc parameter description fpga: bridge: fix kernel-doc edac: Remove the cortex cache edac driver Revert "edac: Update device tree bindings for cortex_arm64" drm: xlnx: hdmitx: Add HDCP1X support dt-bindings: display: xlnx: hdmitx: Add HDCP1X key management support drm: xlnx: hdcp: Add HDMI supportive HDCP1X functionalities drm: xlnx: hdcp: Add HDMI supportive HDCP Secure hashing algorithm staging: xilinx_hdcp: Remove unused XBYTES_PER_DIGIT #define staging: xlnx_hdcp1x: Add HDMI supportive functionality staging: xlnx_hdcp1x: Fix kernel-doc errors firmware: xilinx: fix enum mismatch Revert "uas: Add US_FL_NO_ATA_1X for linux tcm_usb_gadget" Revert "serial: uartps: Fix stuck ISR if RX disabled with non-empty FIFO" i2c: xiic: Correct return value check for xiic_reinit() Revert "drivers: clk: zynqmp: Add versal-net compatible string" --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index 2a0dfe97..32d0d2b2 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.1.0" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.1;destsuffix=yocto-kmeta" KBRANCH="master" -SRCREV = "c8b3583bc86352009c6ac61e2ced0e12118f8ebb" +SRCREV = "8256ca0ce692402ad16cd35d26e7a31cc06d8215" SRCREV_meta = "185bcfcbe480c742247d9117011794c69682914f" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From c965e45d6d013331860476ad8b9c075918d78f0c Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 3 Nov 2023 12:46:35 +0530 Subject: qemu : Updated SRCREV for 2024.1_9971 xlnx-efuse: versal: zynqmp: Switch to upstreamed eFuse models zynqmp: PUF: Use upstream Xilinx eFuse model versal: PUF: Use upstream Xilinx eFuse model versal: pmc-sysmon: Use upstream Xilinx eFuse model versal: pmc-global: Use upstream Xilinx eFuse model versal: pmx: Use upstream Xilinx eFuse model hw/nvram: zynqmp-efuse: Implement the get_puf abstraction hw/nvram: zynqmp-efuse: Add key delivery to AES engine hw/nvram: zynqmp-efuse: Kconfig: Exclude eFUSE from ZynqMP PMU hw/nvram: zynqmp-efuse: Remove checking of a never-true condition hw/nvram: versal-efuse: Implement the get_* abstraction hw/nvram: versal-efuse: Add key delivery to AES engine hw/nvram: xlnx-efuse: Zeroing data for the get_sysmon abstraction hw/nvram: xlnx-efuse: Expand the data for the get_puf abstraction. --- meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc index fc257aac..44a9137b 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc @@ -1,3 +1,3 @@ XILINX_QEMU_VERSION = "v7.1.0" BRANCH = "master" -SRCREV = "eb51431541e955fb4d3080e07695bdc0333c891d" +SRCREV = "d596f4e4309ba11c94fda415df212b1573e520e8" -- cgit v1.2.3-54-g00ecf From 2ca09044d0af80fed2a377443cee57dadb8ecd1c Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 3 Nov 2023 14:21:30 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_9383 arm64: zynqmp: Remove description for 8T49N240 arm64: versal: Switch to new xlnx,versal-ddrmc compatible string arm64: versal: Update SE5 Ethernet PHY RGMII properties --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index c2605216..714f4f6c 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2023.01" UBRANCH = "master" -SRCREV = "ae71f52f72015f3b892e4341627171aa237f6044" +SRCREV = "9fbe1b37500a277e33bc1daf6482aa2510f3a21b" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From 24677437696fc115502ab23ac7c0d17f6aa313ac Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 3 Nov 2023 14:26:52 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_3703 xilplmi: Added code to Trigger Error Out freertos: Add support for stdin and stdout config parameter selection sw_services:xilloader:Redundancy Fixes dp14rxss: Add support for system device-tree flow dp14rxss: Add support for system device-tree flow scripts: pyesw: Fix nul file is showing up in the exported platform --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 68e15be4..1f4aedd7 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "08ab18e1221e768b754f5dc96dd2d25e632632c7" +ESW_REV[2024.1] = "765913e38b2fd313666abc76775ee21822b6e1e5" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 1d476f23bd743eda98b62c8ea5f06dad269daa98 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 6 Nov 2023 12:45:46 +0530 Subject: arm-trusted-firmware : Updated SRCREV for 2024.1_9099 Merge changes from topic "fw-caps" into integration Merge "fix(tegra): return correct error code for plat_core_pos_by_mpidr" into integration fix(tegra): return correct error code for plat_core_pos_by_mpidr Merge changes from topic "hst/cs1k-add-gpt-support" into integration Merge "feat(cpufeat): add memory retention bit define for CLUSTERPWRDN" into integration feat(bl2): add gpt support fix(corstone-1000): modify boot device dependencies Merge "refactor(cm): move EL3 registers to global context" into integration Merge "fix(build): remove handling of mandatory options" into integration Merge changes from topic "hm/mpam" into integration fix(build): convert tabs and ifdef comparisons Merge "refactor(fvp): do not use RSS platform token and attestation key APIs" into integration fix(build): disable ENABLE_FEAT_MPAM for Aarch32 fix(corstone-1000): removing the signature area Merge changes from topic "hm/post-image" into integration refactor(cm): move EL3 registers to global context Merge "feat(rmm): update RMI VERSION command as per EAC5" into integration feat(rmm): update RMI VERSION command as per EAC5 Merge "fix(versal): type cast addresses to fix integer overflow" into integration fix(build): remove handling of mandatory options Merge changes from topic "gr/build_refactor" into integration build(refactor): avoid ifdef comparison refactor(build): avoid using values for comparison refactor(build): reorder arch features handling build(n1sdp): add ARM_ARCH_MAJOR.ARM_ARCH_MINOR refactor(build): reorder platform Makefile evaluation Merge changes from topic "mb/psa-crypto-ecdsa" into integration fix(versal): type cast addresses to fix integer overflow refactor(fvp): move image handling into generic procedure refactor(bl2): make post image handling platform-specific Merge "fix(ast2700): add device mapping for coherent memory" into integration fix(ast2700): add device mapping for coherent memory feat(ti): query firmware for suspend capability feat(ti): add TI-SCI query firmware capabilities command support feat(ti): remove extra core counts in cluster 2 and 3 refactor(fvp): do not use RSS platform token and attestation key APIs docs: mark PSA_CRYPTO as an experimental feature feat(fvp): increase BL1 RW area for PSA_CRYPTO implementation feat(mbedtls-psa): mbedTLS PSA Crypto with ECDSA feat(cpufeat): add memory retention bit define for CLUSTERPWRDN --- .../recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb index 08ec404f..ff5975fa 100644 --- a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb +++ b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb @@ -1,5 +1,5 @@ ATF_VERSION = "3.0" -SRCREV = "ed2d256a68c44bdcde54db66382854c4e191b9f1" +SRCREV = "857c7643253d01e3e7ff8078a7812e2ed561ff67" BRANCH = "xlnx_rebase_v3.0" LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031" -- cgit v1.2.3-54-g00ecf From 6d2bc5a705caed396e7a689dfa2e2a03e29e22c4 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 6 Nov 2023 12:53:38 +0530 Subject: linux-xlnx : Updated SRCREV for 2024.1_3139 arm64: xilinx: Enable KASLR in defconfig --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index 32d0d2b2..d6c920b3 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.1.0" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.1;destsuffix=yocto-kmeta" KBRANCH="master" -SRCREV = "8256ca0ce692402ad16cd35d26e7a31cc06d8215" +SRCREV = "0da933a76e088d51446285fcbcd4da73a36f054b" SRCREV_meta = "185bcfcbe480c742247d9117011794c69682914f" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From c5575daa407961ab4c9ad8a0967c125e05c36e5b Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 6 Nov 2023 15:08:04 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_7491 scripts: pyesw: library_utils: Fix race condition in the xilpm cfg object generation sw_services: xilsecure: Updated API for ECDH dp14: Add support for system device-tree flow dp14: Add support for system device-tree flow sw_services: xilcert: Updated Issuer field in DevAK Certificate sw_services: xilcert: Update library version for 2024.1 xilpm: versal_net: add hbm support --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 1f4aedd7..33977687 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "765913e38b2fd313666abc76775ee21822b6e1e5" +ESW_REV[2024.1] = "e02c4b788494ed376e3a4aa3d23da02f50dcbf28" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From bc99f7f90854f32bc10dcc21168976f2aac93212 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 6 Nov 2023 17:01:09 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_3259 mtd: spi-nor: Fix the issi_flash_lock api mtd: spi-nor: Enhance block protection support for micron flashes mtd: spi-nor: Update block protection flags for ospi flash parts --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index 714f4f6c..ef4f8fef 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2023.01" UBRANCH = "master" -SRCREV = "9fbe1b37500a277e33bc1daf6482aa2510f3a21b" +SRCREV = "0bae32f7ebf1519cab6abc3c20592f09709df130" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From 4fa1402c0ca9a32d9ff46fc34879b66a36a2ad85 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 6 Nov 2023 17:06:26 +0530 Subject: aie-rt : Updated SRCREV for 2024.1_9563 fal:src: Fixed AIE baremetal app compilation fail in rigel flow --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index f75f0168..5dcfb29e 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "main-aie" -SRCREV ?= "0c3fb27eb7e8d68571f6b42026f3337ddb601113" +SRCREV ?= "34c11c13cdc647e5fc799ce26a1406407c9b3bdc" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From e87ed43cfbc6aa1d50e2127ef8b29ba454dcaa7a Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 7 Nov 2023 12:52:24 +0530 Subject: aie-rt : Updated SRCREV for 2024.1_8951 fix libmetal shimdma issue --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index 5dcfb29e..317045b1 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "main-aie" -SRCREV ?= "34c11c13cdc647e5fc799ce26a1406407c9b3bdc" +SRCREV ?= "a402606addea238b6a575e577a75c37d23d06abe" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From d5b8a492249af0b6f33f3c7c0fd7ee74d2b99451 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 7 Nov 2023 17:07:20 +0530 Subject: aie-rt : Updated SRCREV for 2024.1_2747 driver: src: Fixed misra warning --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index 317045b1..7b9d3f35 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "main-aie" -SRCREV ?= "a402606addea238b6a575e577a75c37d23d06abe" +SRCREV ?= "f66cc3a060380e4911a47991c11e006755a2210a" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From 3ed79232a51286abb24e0a9dcbb8a4fd03039781 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 7 Nov 2023 17:00:49 +0530 Subject: arm-trusted-firmware : Updated SRCREV for 2024.1_6431 Merge changes from topic "morello/firmware-revision" into integration Merge changes from topic "xlnx_tsp_feat" into integration feat(morello): add TF-A version string to NT_FW_CONFIG feat(morello): set NT_FW_CONFIG properties for MCC, PCC and SCP version Merge "fix(rmmd): enable sme using sme_enable_per_world" into integration fix(rmmd): enable sme using sme_enable_per_world Merge "fix(build): remove duplicated include order" into integration Merge changes from topic "mp/exceptions" into integration Merge "docs: deletion of a few deprecated platforms not yet confirmed" into integration docs(versal-net): add TSP build documentation docs(versal): add TSP build documentation feat(versal-net): add tsp support feat(versal): add tsp support refactor(xilinx): add generic TSP makefile fix(build): remove duplicated include order docs(ras): update RAS documentation docs(el3-runtime): update BL31 exception vector handling fix(el3-runtime): restrict lower el EA handlers in FFH mode fix(ras): remove RAS_FFH_SUPPORT and introduce FFH_SUPPORT chore(zynqmp): reorganize tsp code into common path refactor(xilinx): rename platform function to generic name fix(ras): restrict ENABLE_FEAT_RAS to have only two states feat(ras): use FEAT_IESB for error synchronization feat(el3-runtime): modify vector entry paths docs: deletion of a few deprecated platforms not yet confirmed --- .../recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb index ff5975fa..5a288b20 100644 --- a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb +++ b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb @@ -1,5 +1,5 @@ ATF_VERSION = "3.0" -SRCREV = "857c7643253d01e3e7ff8078a7812e2ed561ff67" +SRCREV = "9bb15ab53ad2dc22323f4a90256a7fe7e7399960" BRANCH = "xlnx_rebase_v3.0" LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031" -- cgit v1.2.3-54-g00ecf From a14e61f3e69439066ac6ab1d5fe7eba60446de2b Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 7 Nov 2023 17:06:49 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_9623 v_hdmirxss1: example: Fix application compilation error in SDT flow v_hdmiphy1: Fix yaml file to pull the hdmiphy1 driver for ZU+ devices freertos10_xilinx: Move extern variable declarations from macro --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 33977687..5e1442cd 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "e02c4b788494ed376e3a4aa3d23da02f50dcbf28" +ESW_REV[2024.1] = "397712f04d7f6a7dd5a2abb033f3a5ec4840cdbf" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 6581ae9bcf3e1089a38fb7839550e88a04e8f9dc Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Wed, 8 Nov 2023 12:30:11 +0530 Subject: Updated Commit ID post_process_config.py: Fix for nfs boot configurations gen-machineconf: Add SKIP_BBPATH_SEARCH variable sdt_flow.py:xsct_flow.py: Add Layers before conf files Signed-off-by: Siva Addepalli --- meta-xilinx-core/gen-machine-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf index 8d048053..02b9a969 160000 --- a/meta-xilinx-core/gen-machine-conf +++ b/meta-xilinx-core/gen-machine-conf @@ -1 +1 @@ -Subproject commit 8d0480538ace3281b17bf04bf049e46de28fc317 +Subproject commit 02b9a969a367abb8cfadcf904db612a6eb3fc70e -- cgit v1.2.3-54-g00ecf From d4e854bd33dd97a7d23eabbbdeca89b0791c4d73 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 8 Nov 2023 15:47:08 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_8467 xilsecure: Add input validations in all ipihandlers xilpuf: Add input validations in all ipihandlers xilnvm: Add input validations in all ipihandlers sw_services: xilsecure: Fix compilation warning sw_services: xilnvm: Fix compilation warning --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 5e1442cd..d0b20418 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "397712f04d7f6a7dd5a2abb033f3a5ec4840cdbf" +ESW_REV[2024.1] = "bd8b5a0e3ae9c1f895c17b1f641b5733486f4501" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 1612faf328c608ac4faaa7c74de7239cc4094b9e Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 9 Nov 2023 12:52:19 +0530 Subject: aie-rt : Updated SRCREV for 2024.1_3111 Update send-email.yml --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index 7b9d3f35..0e806d04 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "main-aie" -SRCREV ?= "f66cc3a060380e4911a47991c11e006755a2210a" +SRCREV ?= "4d2cfe56cbd89e0f5bbacbd42dcf4a3cc20382bb" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From 30f70eeb647f261b35b7e316e61b2cae534805a4 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 9 Nov 2023 15:13:04 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_5107 ipipsu: Fix compilation warning ipipsu: Update the driver version mbox: Add microblaze-v platform check mbox: Update the driver version clk_wiz: Add microblaze-v platform check clk_wiz: Update the driver version xilmailbox: Add microblaze-v platform check qspipsu: Add microblaze-v platform check sdps: Add microblaze-v platform check lib: bsp: standalone: Deprecate IOCTL_SET_SGMII_MODE ID sw_services: xilpm: versal: Remove IOCTL_SET_SGMII_MODE ID bsp:standalone: Modify translation_table for versal net in SDT Flow sw_services:xilsecure:zynqmp:Fixed INIT_TO_NULL coverity warning VersalNet: Add support to run KAT for xilocp and xilcert --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index d0b20418..0ba08e7c 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "bd8b5a0e3ae9c1f895c17b1f641b5733486f4501" +ESW_REV[2024.1] = "74010c0dc7d0b6b624da1546253da26297e1f5ce" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 9b6aefb857f408c21452b8107d192fcd94b92f56 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 9 Nov 2023 16:48:16 +0530 Subject: linux-xlnx : Updated SRCREV for 2024.1_3483 Revert "firmware: xilinx: xilinx: Add IOCTL ids for probe counter" mailbox: Explicitly include correct DT includes mailbox: zynqmp: Fix IPI isr handling mailbox: zynqmp: Fix counts of child nodes Revert "dt-bindings: zynqmp: Add new PD_PL macro" Revert "firmware: xilinx: Add zynqmp SGMII firmware support" Revert "dt-bindings: usb: host: ehci-xilinx: Add binding doc" arm64: xilinx: Sync defconfigs with the latest Kconfig layout --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index d6c920b3..d0f14099 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.1.0" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.1;destsuffix=yocto-kmeta" KBRANCH="master" -SRCREV = "0da933a76e088d51446285fcbcd4da73a36f054b" +SRCREV = "63b551930a788f1a2c8240b476bbe9064cf3febf" SRCREV_meta = "185bcfcbe480c742247d9117011794c69682914f" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From 28f14681bf73f1ac9a1ff859b9ffe64a97af5f7d Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 10 Nov 2023 15:15:48 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_4815 resetps: Remove unused XPAR_PSU_PSS_REF_CLK_FREQ_HZ --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 0ba08e7c..547465b4 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "74010c0dc7d0b6b624da1546253da26297e1f5ce" +ESW_REV[2024.1] = "8582d420d5a00c39c3f78c6a8bb4a8a579df20e0" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From abeecc3784556465e31fd09082a7a468e2638072 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 10 Nov 2023 12:52:50 +0530 Subject: aie-rt : Updated SRCREV for 2024.1_5079 Update send-email.yml --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index 0e806d04..d806d9eb 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "main-aie" -SRCREV ?= "4d2cfe56cbd89e0f5bbacbd42dcf4a3cc20382bb" +SRCREV ?= "a2d48abf88c729defde2b7364e77e7ddee1e8c09" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From b18c9874194be827367d2659714589ba1618fdaf Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 14 Nov 2023 23:04:28 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_2887 freertos10_xilinx: Update standalone version freertos10_xilinx: Update FreeRTOS kernel clockps: Fix the redefinition of the macros versal_psmfw: fix ocm retention error sw_services:xilloader:Security COE review fixes --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 547465b4..0aa46338 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "8582d420d5a00c39c3f78c6a8bb4a8a579df20e0" +ESW_REV[2024.1] = "2b99df5e395a7425dda8cc3aa4ade82e54d09d1c" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 8f6238da70b035bbe61da3831bb96636777ec7a8 Mon Sep 17 00:00:00 2001 From: Sharath Kumar Dasari Date: Fri, 3 Nov 2023 14:15:54 +0530 Subject: image-update: updated source revision to latest Adds support for Rev2 boards Signed-off-by: Sharath Kumar Dasari Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-apps/image-update/image-update_1.0.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-apps/image-update/image-update_1.0.bb b/meta-xilinx-core/recipes-apps/image-update/image-update_1.0.bb index 42b62e56..8a707df4 100644 --- a/meta-xilinx-core/recipes-apps/image-update/image-update_1.0.bb +++ b/meta-xilinx-core/recipes-apps/image-update/image-update_1.0.bb @@ -8,7 +8,7 @@ LIC_FILES_CHKSUM = "file://${WORKDIR}/git/LICENSES/MIT;md5=2ac09a7a37dd6ee0ba23c BRANCH = "xlnx_rel_v2023.2" SRC_URI = "git://github.com/Xilinx/linux-image_update.git;branch=${BRANCH};protocol=https" -SRCREV = "c1117cad92d967d7adca7fd2ba655808f4687516" +SRCREV = "4f0b7b1b20933ddc454124fc3472f1b8894ddf08" RDEPENDS:${PN} += "freeipmi" -- cgit v1.2.3-54-g00ecf From 41f754079cbc0d25bba4b0883d0be0a666f23e01 Mon Sep 17 00:00:00 2001 From: Sergei Korneichuk Date: Mon, 6 Nov 2023 22:22:49 -0800 Subject: libmetal-xlnx: Updated SRCREV for vfio revert Changelog since xlnx_rel_v2023.2 examples: linux: include utilities.h Revert commits with unclear upstream plan Signed-off-by: Sergei Korneichuk Signed-off-by: Mark Hatle --- .../openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb index 057c1ef8..306c17a7 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb @@ -1,5 +1,5 @@ SRCBRANCH ?= "2023.2" -SRCREV = "be635252271de342014a146825870b64bd41d6eb" +SRCREV = "73cbfb0695cdc21f2afd7a2c347c7f2d9b5dc71e" BRANCH = "2023" LIC_FILES_CHKSUM ?= "file://LICENSE.md;md5=f4d5df0f12dcea1b1a0124219c0dbab4" PV = "${SRCBRANCH}+git${SRCPV}" -- cgit v1.2.3-54-g00ecf From 021e968fc4a03d7e0fc30b6e4605e3623ad93557 Mon Sep 17 00:00:00 2001 From: saumya garg Date: Fri, 3 Nov 2023 11:41:44 +0530 Subject: xrt, zocl: Update commit id Changelog: Fixed tile information printed to the screen (#7779) Adjust trace points (#7778) VTITIS-9990 - Removing boost::filesystem P1 (#7777) Update coverity.yml Configuration of AIE not needed in ML Timeline Plugin (#7776) Remove multiple printout of early access message (#7774) Updates to AIE Profile Client Plugin (#7772) VITIS-9943 Improve help menu to use JSON file (#7766) Amend #7752 to default error out if ERT FW cannot be built (#7769) CR-1179639 Add early access label for Ryzen AI (#7754) effective filtering of the unsorted events (#7763) CR-1178667 Remove device specification restriction (#7750) change ipu name (#7768) Use write buffer for AIE Profile, AIE Debug Plugins in Client Device (#7757) Fix for XRT_IPU build break (#7762) Update CHANGELOG to reflect minimum gcc requirement Add platform specific repository for xclbins (#7712) VITIS-10045 - Fix a crash in xclbinUtil on windows platform (#7756) Exclude version file generation when running AMD promotion build (#7755) update mb-gcc path for building ERT (#7751) ML Timeline Plugin for extracting layer-by-layer timestamps for ML designs (#7753) Add build.sh option to force error if ERT FW cannot be build (#7752) Update trace logging to support Linux (#7745) Signed-off-by: saumya garg Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-xrt/xrt/xrt.inc | 2 +- meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc index 31daed99..8d1deb20 100644 --- a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc @@ -3,7 +3,7 @@ BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != ' SRC_URI = "${REPO};${BRANCHARG};name=xrt" BRANCH= "master" -SRCREV_xrt = "d912969076286f61805921f9c64493322085e458" +SRCREV_xrt = "5618b3317573d5a555b6f8789e549a28657fd9d9" PV = "202320.2.16.0" SRC_URI += "git://github.com/Xilinx/dma_ip_drivers.git;branch=master;name=dma_ip_drivers;destsuffix=git/src/runtime_src/core/pcie/driver/linux/xocl/lib/libqdma;protocol=https" diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb b/meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb index f4e7b5de..48454538 100644 --- a/meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb @@ -22,7 +22,7 @@ inherit cmake pkgconfig BBCLASSEXTEND = "native nativesdk" # util-linux is for libuuid-dev. -DEPENDS = "libdrm opencl-headers ocl-icd opencl-clhpp boost util-linux git-replacement-native protobuf-native protobuf elfutils libffi rapidjson" +DEPENDS = "libdrm opencl-headers ocl-icd opencl-clhpp boost util-linux git-replacement-native protobuf-native protobuf elfutils libffi rapidjson systemtap" RDEPENDS:${PN} = "bash ocl-icd boost-system boost-filesystem zocl (= ${PV})" EXTRA_OECMAKE += " \ -- cgit v1.2.3-54-g00ecf From 9baa914d9600e2a3bdcaa977f3bbcb3f2e7891eb Mon Sep 17 00:00:00 2001 From: Appana Durga Kedareswara rao Date: Mon, 6 Nov 2023 14:28:28 +0530 Subject: meta-xilinx-standalone-experimental: recipes-drivers: Add recipes for the missing drivers Add recipes for the drivers 'dfeccf', 'dfeequ', 'dfemix', 'dfeprach', 'dp14', 'dp14rxss', 'emc', 'hwicap', 'i2srx', 'i2stx', 'nandps', 'prc', 'prd', 'rfdc', 'scutimer', 'scuwdt', 'sd_fec', 'spi', 'tft', 'trngpsv', 'usbps', 'v_hdmi_common', 'v_hdmiphy1', 'v_hdmirx1', 'v_hdmirxss1', 'v_hdmitx1', 'v_hdmitxss1', 'v_warp_filter', 'v_warp_init', 'vphy', 'dfeofdm', 'trngpsx' inorder to compile them in the sdt flow. Signed-off-by: Appana Durga Kedareswara rao Signed-off-by: Mark Hatle --- meta-xilinx-standalone-experimental/classes/esw.bbclass | 6 +++--- .../recipes-drivers/dfeccf_2024.1.bb | 14 ++++++++++++++ .../recipes-drivers/dfeequ_2024.1.bb | 14 ++++++++++++++ .../recipes-drivers/dfemix_2024.1.bb | 14 ++++++++++++++ .../recipes-drivers/dfeofdm_2024.1.bb | 14 ++++++++++++++ .../recipes-drivers/dfeprach_2024.1.bb | 14 ++++++++++++++ .../recipes-drivers/dp14_2024.1.bb | 14 ++++++++++++++ .../recipes-drivers/dp14rxss_2024.1.bb | 14 ++++++++++++++ .../recipes-drivers/emc_2024.1.bb | 14 ++++++++++++++ .../recipes-drivers/hwicap_2024.1.bb | 14 ++++++++++++++ .../recipes-drivers/i2srx_2024.1.bb | 14 ++++++++++++++ .../recipes-drivers/i2stx_2024.1.bb | 14 ++++++++++++++ .../recipes-drivers/nandps_2024.1.bb | 14 ++++++++++++++ .../recipes-drivers/prc_2024.1.bb | 14 ++++++++++++++ .../recipes-drivers/prd_2024.1.bb | 14 ++++++++++++++ .../recipes-drivers/rfdc_2024.1.bb | 14 ++++++++++++++ .../recipes-drivers/scutimer_2024.1.bb | 14 ++++++++++++++ .../recipes-drivers/scuwdt_2024.1.bb | 14 ++++++++++++++ .../recipes-drivers/sd-fec_2024.1.bb | 14 ++++++++++++++ .../recipes-drivers/spi_2024.1.bb | 14 ++++++++++++++ .../recipes-drivers/tft_2024.1.bb | 14 ++++++++++++++ .../recipes-drivers/trngpsv_2024.1.bb | 14 ++++++++++++++ .../recipes-drivers/trngpsx_2024.1.bb | 14 ++++++++++++++ .../recipes-drivers/usbps_2024.1.bb | 14 ++++++++++++++ .../recipes-drivers/v-hdmi-common_2024.1.bb | 11 +++++++++++ .../recipes-drivers/v-hdmiphy1_2024.1.bb | 14 ++++++++++++++ .../recipes-drivers/v-hdmirx1_2024.1.bb | 14 ++++++++++++++ .../recipes-drivers/v-hdmirxss1_2024.1.bb | 14 ++++++++++++++ .../recipes-drivers/v-hdmitx1_2024.1.bb | 14 ++++++++++++++ .../recipes-drivers/v-hdmitxss1_2024.1.bb | 14 ++++++++++++++ .../recipes-drivers/v-warp-filter_2024.1.bb | 14 ++++++++++++++ .../recipes-drivers/v-warp-init_2024.1.bb | 14 ++++++++++++++ .../recipes-drivers/vphy_2024.1.bb | 14 ++++++++++++++ 33 files changed, 448 insertions(+), 3 deletions(-) create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/dfeccf_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/dfeequ_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/dfemix_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/dfeofdm_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/dfeprach_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/dp14_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/dp14rxss_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/emc_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/hwicap_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/i2srx_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/i2stx_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/nandps_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/prc_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/prd_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/rfdc_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/scutimer_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/scuwdt_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/sd-fec_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/spi_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/tft_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/trngpsv_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/trngpsx_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/usbps_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-hdmi-common_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-hdmiphy1_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-hdmirx1_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-hdmirxss1_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-hdmitx1_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-hdmitxss1_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-warp-filter_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/v-warp-init_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/vphy_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/classes/esw.bbclass b/meta-xilinx-standalone-experimental/classes/esw.bbclass index a08e04fb..53accd52 100644 --- a/meta-xilinx-standalone-experimental/classes/esw.bbclass +++ b/meta-xilinx-standalone-experimental/classes/esw.bbclass @@ -141,9 +141,9 @@ python do_generate_driver_data() { os.chdir(d.getVar('B')) command = ["lopper"] + ["-f"] + [system_dt[0]] + ["--"] + ["baremetalconfig_xlnx.py"] + [machine] + [src_dir[0]] subprocess.run(command, check = True) - src_file = str("x") + driver_name.replace('-', '_') + str("_g.c") - if os.path.exists(src_file): + src_file = glob.glob('*_g.c') + if os.path.exists(src_file[0]): bb.note("Generated config file for driver %s" % driver_name) - command = ["install"] + ["-m"] + ["0755"] + [src_file] + [src_dir[0]] + command = ["install"] + ["-m"] + ["0755"] + [src_file[0]] + [src_dir[0]] subprocess.run(command, check = True) } diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfeccf_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dfeccf_2024.1.bb new file mode 100644 index 00000000..9d17cd96 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/dfeccf_2024.1.bb @@ -0,0 +1,14 @@ + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "dfeccf" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dfeccf/src/" +ESW_COMPONENT_NAME = "libdfeccf.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfeequ_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dfeequ_2024.1.bb new file mode 100644 index 00000000..1617b956 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/dfeequ_2024.1.bb @@ -0,0 +1,14 @@ + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "dfeequ" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dfeequ/src/" +ESW_COMPONENT_NAME = "libdfeequ.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfemix_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dfemix_2024.1.bb new file mode 100644 index 00000000..e08e1935 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/dfemix_2024.1.bb @@ -0,0 +1,14 @@ + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "dfemix" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dfemix/src/" +ESW_COMPONENT_NAME = "libdfemix.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfeofdm_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dfeofdm_2024.1.bb new file mode 100644 index 00000000..435e2fd2 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/dfeofdm_2024.1.bb @@ -0,0 +1,14 @@ + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "dfeofdm" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dfeofdm/src/" +ESW_COMPONENT_NAME = "libdfeofdm.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfeprach_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dfeprach_2024.1.bb new file mode 100644 index 00000000..81808fea --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/dfeprach_2024.1.bb @@ -0,0 +1,14 @@ + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "dfeprach" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dfeprach/src/" +ESW_COMPONENT_NAME = "libdfeprach.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dp14_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dp14_2024.1.bb new file mode 100644 index 00000000..ab63d3a1 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/dp14_2024.1.bb @@ -0,0 +1,14 @@ + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "dp14" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dp14/src/" +ESW_COMPONENT_NAME = "libdp14.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dp14rxss_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dp14rxss_2024.1.bb new file mode 100644 index 00000000..4e98b2e4 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/dp14rxss_2024.1.bb @@ -0,0 +1,14 @@ + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "dp14rxss" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dp14rxss/src/" +ESW_COMPONENT_NAME = "libdp14rxss.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/emc_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/emc_2024.1.bb new file mode 100644 index 00000000..0f46f99b --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/emc_2024.1.bb @@ -0,0 +1,14 @@ + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "emc" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/emc/src/" +ESW_COMPONENT_NAME = "libemc.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/hwicap_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/hwicap_2024.1.bb new file mode 100644 index 00000000..37d70f6a --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/hwicap_2024.1.bb @@ -0,0 +1,14 @@ + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "hwicap" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/hwicap/src/" +ESW_COMPONENT_NAME = "libhwicap.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/i2srx_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/i2srx_2024.1.bb new file mode 100644 index 00000000..27333e13 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/i2srx_2024.1.bb @@ -0,0 +1,14 @@ + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "i2srx" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/i2srx/src/" +ESW_COMPONENT_NAME = "libi2srx.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/i2stx_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/i2stx_2024.1.bb new file mode 100644 index 00000000..ca09a7f0 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/i2stx_2024.1.bb @@ -0,0 +1,14 @@ + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "i2stx" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/i2stx/src/" +ESW_COMPONENT_NAME = "libi2stx.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/nandps_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/nandps_2024.1.bb new file mode 100644 index 00000000..ce3f7898 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/nandps_2024.1.bb @@ -0,0 +1,14 @@ + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "nandps" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/nandps/src/" +ESW_COMPONENT_NAME = "libnandps.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/prc_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/prc_2024.1.bb new file mode 100644 index 00000000..12390ae2 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/prc_2024.1.bb @@ -0,0 +1,14 @@ + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "prc" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/prc/src/" +ESW_COMPONENT_NAME = "libprc.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/prd_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/prd_2024.1.bb new file mode 100644 index 00000000..9ea7b2d8 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/prd_2024.1.bb @@ -0,0 +1,14 @@ + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "prd" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/prd/src/" +ESW_COMPONENT_NAME = "libprd.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/rfdc_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/rfdc_2024.1.bb new file mode 100644 index 00000000..cfc106b6 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/rfdc_2024.1.bb @@ -0,0 +1,14 @@ + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "rfdc" + +inherit esw python3native + +DEPENDS += "xilstandalone libmetal" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/rfdc/src/" +ESW_COMPONENT_NAME = "librfdc.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/scutimer_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/scutimer_2024.1.bb new file mode 100644 index 00000000..9e101058 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/scutimer_2024.1.bb @@ -0,0 +1,14 @@ + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "scutimer" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/scutimer/src/" +ESW_COMPONENT_NAME = "libscutimer.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/scuwdt_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/scuwdt_2024.1.bb new file mode 100644 index 00000000..757a5de1 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/scuwdt_2024.1.bb @@ -0,0 +1,14 @@ + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "scuwdt" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/scuwdt/src/" +ESW_COMPONENT_NAME = "libscuwdt.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/sd-fec_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/sd-fec_2024.1.bb new file mode 100644 index 00000000..e4f61219 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/sd-fec_2024.1.bb @@ -0,0 +1,14 @@ + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "sd-fec" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/sd_fec/src/" +ESW_COMPONENT_NAME = "libsd_fec.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/spi_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/spi_2024.1.bb new file mode 100644 index 00000000..3e564725 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/spi_2024.1.bb @@ -0,0 +1,14 @@ + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "spi" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/spi/src/" +ESW_COMPONENT_NAME = "libspi.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/tft_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/tft_2024.1.bb new file mode 100644 index 00000000..d8dcff08 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/tft_2024.1.bb @@ -0,0 +1,14 @@ + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "tft" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/tft/src/" +ESW_COMPONENT_NAME = "libtft.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/trngpsv_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/trngpsv_2024.1.bb new file mode 100644 index 00000000..1651ede2 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/trngpsv_2024.1.bb @@ -0,0 +1,14 @@ + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "trngpsv" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/trngpsv/src/" +ESW_COMPONENT_NAME = "libtrngpsv.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/trngpsx_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/trngpsx_2024.1.bb new file mode 100644 index 00000000..7699dfe5 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/trngpsx_2024.1.bb @@ -0,0 +1,14 @@ + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "trngpsx" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/trngpsx/src/" +ESW_COMPONENT_NAME = "libtrngpsx.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/usbps_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/usbps_2024.1.bb new file mode 100644 index 00000000..c4a2fff0 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/usbps_2024.1.bb @@ -0,0 +1,14 @@ + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "usbps" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/usbps/src/" +ESW_COMPONENT_NAME = "libusbps.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-hdmi-common_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-hdmi-common_2024.1.bb new file mode 100644 index 00000000..1e592d40 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-hdmi-common_2024.1.bb @@ -0,0 +1,11 @@ + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "v-hdmi-common" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_hdmi_common/src/" +ESW_COMPONENT_NAME = "libv_hdmi_common.a" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-hdmiphy1_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-hdmiphy1_2024.1.bb new file mode 100644 index 00000000..d3d601cb --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-hdmiphy1_2024.1.bb @@ -0,0 +1,14 @@ + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "v-hdmiphy1" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_hdmiphy1/src/" +ESW_COMPONENT_NAME = "libv_hdmiphy1.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-hdmirx1_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-hdmirx1_2024.1.bb new file mode 100644 index 00000000..f2b576cd --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-hdmirx1_2024.1.bb @@ -0,0 +1,14 @@ + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "v-hdmirx1" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_hdmirx1/src/" +ESW_COMPONENT_NAME = "libv_hdmirx1.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-hdmirxss1_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-hdmirxss1_2024.1.bb new file mode 100644 index 00000000..faf57614 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-hdmirxss1_2024.1.bb @@ -0,0 +1,14 @@ + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "v-hdmirxss1" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_hdmirxss1/src/" +ESW_COMPONENT_NAME = "libv_hdmirxss1.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-hdmitx1_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-hdmitx1_2024.1.bb new file mode 100644 index 00000000..7070235e --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-hdmitx1_2024.1.bb @@ -0,0 +1,14 @@ + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "v-hdmitx1" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_hdmitx1/src/" +ESW_COMPONENT_NAME = "libv_hdmitx1.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-hdmitxss1_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-hdmitxss1_2024.1.bb new file mode 100644 index 00000000..de4f4ad9 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-hdmitxss1_2024.1.bb @@ -0,0 +1,14 @@ + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "v-hdmitxss1" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_hdmitxss1/src/" +ESW_COMPONENT_NAME = "libv_hdmitxss1.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-warp-filter_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-warp-filter_2024.1.bb new file mode 100644 index 00000000..f908ce55 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-warp-filter_2024.1.bb @@ -0,0 +1,14 @@ + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "v-warp-filter" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_warp_filter/src/" +ESW_COMPONENT_NAME = "libv_warp_filter.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/v-warp-init_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/v-warp-init_2024.1.bb new file mode 100644 index 00000000..ff04ec35 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/v-warp-init_2024.1.bb @@ -0,0 +1,14 @@ + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "v-warp-init" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/v_warp_init/src/" +ESW_COMPONENT_NAME = "libv_warp_init.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/vphy_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/vphy_2024.1.bb new file mode 100644 index 00000000..1a06cf60 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/vphy_2024.1.bb @@ -0,0 +1,14 @@ + +inherit features_check + +REQUIRED_MACHINE_FEATURES = "vphy" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/vphy/src/" +ESW_COMPONENT_NAME = "libvphy.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" -- cgit v1.2.3-54-g00ecf From ce1998949a54a0c147188b2fb653876e4d7dcbfb Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Tue, 31 Oct 2023 08:49:32 -0600 Subject: recipes-core: Deprecate meta-xilinx-setup and dt-processor 1. Deprecate meta-xilinx-setup and dt-processor.sh for generating SDK and machine configuration files. Instead use gen-machineconf tool to parse sdt file and generate machine configuration files. 2. Remove README-setup and add instructions in meta-xilinx-standalone-experimental/README.md file. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- .../recipes-core/meta/files/README-setup | 102 -- .../recipes-core/meta/files/dt-processor.sh | 1254 -------------------- .../recipes-core/meta/meta-xilinx-setup.bb | 91 -- 3 files changed, 1447 deletions(-) delete mode 100644 meta-xilinx-standalone-experimental/recipes-core/meta/files/README-setup delete mode 100755 meta-xilinx-standalone-experimental/recipes-core/meta/files/dt-processor.sh delete mode 100644 meta-xilinx-standalone-experimental/recipes-core/meta/meta-xilinx-setup.bb diff --git a/meta-xilinx-standalone-experimental/recipes-core/meta/files/README-setup b/meta-xilinx-standalone-experimental/recipes-core/meta/files/README-setup deleted file mode 100644 index 0a5736d8..00000000 --- a/meta-xilinx-standalone-experimental/recipes-core/meta/files/README-setup +++ /dev/null @@ -1,102 +0,0 @@ -Document Version: 20230112 - -The Yocto Project setup for the System Device Tree workflow is as follows. -Be sure to read everything below, as the steps will be updated in the future -if the setup script changes. - -The steps in this document expect that you have already built the setup -(meta-xilinx-setup) SDK, and installed it. - -* Run the setup script - -The setup environment should be run in a new shell (not the build shell) -to ensure that you do not contaminate the environment for your build. - -We will assume below that the directory "prestep" was used for the SDK, -however you may use any path you wish. - -Source the SDK environment file - $ . /prestep/environment-setup-x86_64-petalinux-linux - -Run the script from the same directory as this README - $ /prestep/dt-processor.sh -c -s -l conf/local.conf - -Note: The -l option will automatically add the necessary parameters to the -local.conf file. If you need to re-run this comment, you just clear the -parameters from the end of the file. Without the -l option the items are -printed to the screen and must be manually added to your conf/local.conf - -For example, zynqmp: - $ ./prestep/dt-processor.sh -c conf -s /proj/yocto/zcu102-sdt/system-top.dts -l conf/local.conf - -The following will be written to the end of the conf/local.conf file: - - # Each multiconfig will define it's own TMPDIR, this is the new default based - # on BASE_TMPDIR for the Linux build - TMPDIR = "${BASE_TMPDIR}/tmp" - - # Use the newly generated MACHINE - MACHINE = "xlnx-zynqmp-zcu102-rev1-0" - - # All of the TMPDIRs must be in a common parent directory. This is defined - # as BASE_TMPDIR. - # Adjust BASE_TMPDIR if you want to move the tmpdirs elsewhere, such as /tmp - BASE_TMPDIR ?= "${TOPDIR}" - - # The following is the full set of multiconfigs for this configuration - # A large list can cause a slow parse. - BBMULTICONFIG = " cortexa53-0-zynqmp-fsbl-baremetal cortexa53-0-zynqmp-baremetal cortexa53-0-zynqmp-freertos cortexa53-1-zynqmp-baremetal cortexa53-1-zynqmp-freertos cortexa53-2-zynqmp-baremetal cortexa53-2-zynqmp-freertos cortexa53-3-zynqmp-baremetal cortexa53-3-zynqmp-freertos cortexr5-0-zynqmp-fsbl-baremetal cortexr5-0-zynqmp-baremetal cortexr5-0-zynqmp-freertos cortexr5-1-zynqmp-baremetal cortexr5-1-zynqmp-freertos microblaze-0-pmu" - # Alternatively trim the list to the minimum - #BBMULTICONFIG = " cortexa53-0-zynqmp-fsbl-baremetal microblaze-0-pmu" - - -For example, versal: - $ ./prestep/dt-processor.sh -c conf -s /proj/yocto/vmk180-sdt/system-top.dts -l conf/local.conf - -The following will be written to the end of the conf/local.conf file: - - # Each multiconfig will define it's own TMPDIR, this is the new default based - # on BASE_TMPDIR for the Linux build - TMPDIR = "${BASE_TMPDIR}/tmp" - - # Use the newly generated MACHINE - MACHINE = "xlnx-versal-vmk180-rev1-1-x-ebm-01-reva" - - # All of the TMPDIRs must be in a common parent directory. This is defined - # as BASE_TMPDIR. - # Adjust BASE_TMPDIR if you want to move the tmpdirs elsewhere, such as /tmp - BASE_TMPDIR ?= "${TOPDIR}" - - # The following is the full set of multiconfigs for this configuration - # A large list can cause a slow parse. - BBMULTICONFIG = " cortexa72-0-versal-baremetal cortexa72-0-versal-freertos cortexa72-1-versal-baremetal cortexa72-1-versal-freertos microblaze-0-pmc microblaze-0-psm cortexr5-0-versal-baremetal cortexr5-0-versal-freertos cortexr5-1-versal-baremetal cortexr5-1-versal-freertos" - # Alternatively trim the list to the minimum - #BBMULTICONFIG = " microblaze-0-pmc microblaze-0-psm" - - -You can now EXIT THE NEW SHELL return the build environment for the remaining steps. - -* Bitbake Performance Note - -Each BBMULTICONFIG value requires all of the recipes to be parsed for that -configuration. Thus each multiconfig will add more parsing time. A long list -can lead to a very slow parse (many minutes). To speed up parsing, it is -suggested that you trim this down to only the configurations you require. -A minimum configuration is included with the generated configuration. - -* Build your project - -You should now be able to build your project normally. See the Yocto Project -documentation if you have questions on how to work with the multiconfig -recipes. The following is a simple build for testing. - -In the original build shell -Build your Linux sytem: - $ bitbake petalinux-image-minimal - -The output will be in tmp/deploy/images/... - -If the system is QEMU capable execute QEMU using: - $ runqemu nographic slirp core-image-minimal - -To terminate qemu, usually the command is ctrl-a x diff --git a/meta-xilinx-standalone-experimental/recipes-core/meta/files/dt-processor.sh b/meta-xilinx-standalone-experimental/recipes-core/meta/files/dt-processor.sh deleted file mode 100755 index 004bf258..00000000 --- a/meta-xilinx-standalone-experimental/recipes-core/meta/files/dt-processor.sh +++ /dev/null @@ -1,1254 +0,0 @@ -#! /bin/bash - -# Copyright (c) 2021-2022 Xilinx Inc -# Copyright (C) 2022-2023 Advanced Micro Devices, Inc. All rights reserved. -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to deal -# in the Software without restriction, including without limitation the rights -# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -# copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -# THE SOFTWARE. - -# This script configures the Yocto Project build system for use with the System -# Device Tree workflow when building for a Xilinx FPGA, such as the ZynqMP or -# Versal. - -error() { echo "ERROR: $1" >&2; exit 1; } - -warn() { echo "WARNING: $1"; } - -info() { echo "INFO: $1"; } - -usage() { - cat < Location of the build conf directory - -s Path to system dts - [-d ] Path to domain file (.yml/.dts) - [-o ] Generate overlay dts - [-e ] Apply a partial overlay - [-m ] The name of the machine .conf to generate - [-D ] Absolute path or subdirectory of conf/dts to place DTS files in (usually auto detected from DTS) - [-t ] Machine type: zynqmp or versal (usually auto detected) - [-v ] SOC Variant: cg, dr, eg, ev, ai-prime, premium (usually auto detected) - [-r ] This machine will be required, instead of the generic machine if defined - [-O ] Optional, can add additional overrides to the generated machine - [-p ] Path to psu_init files, defaults to system_dts path - [-i ] Path to the pdi file - [-l ] write local.conf changes to this file - [-P ] Path to petalinux schema file - -EOF - exit -} - -parse_args() { - [ $# -eq 0 ] && usage - [ $1 = "--help" ] && usage - - while getopts ":c:s:d:o:e:m:D:l:hP:p:i:t:v:r:O:" opt; do - case ${opt} in - c) config_dir=$OPTARG ;; - s) system_dts=$OPTARG ;; - o) overlay_dts=$OPTARG ;; - d) domain_file=$OPTARG ;; - e) external_fpga=$OPTARG ;; - m) mach_conf=$OPTARG ; mach_conf=${mach_conf%%.conf} ;; - D) dts_path=$OPTARG ;; - t) machine=$OPTARG ;; - v) soc_variant=$OPTARG ;; - r) incmachine=$OPTARG ;; - O) overrides=$OPTARG ;; - p) psu_init_path=$OPTARG ;; - i) pdi_path=$OPTARG ;; - l) localconf=$OPTARG ;; - P) petalinux_schema=$OPTARG ;; - h) usage ;; - :) error "Missing argument for -$OPTARG" ;; - \?) error "Invalid option -$OPTARG" ;; - esac - done - - [ -z "${config_dir}" ] && error "You must specify the path to the build conf directory with -c" - [ -z "${system_dts}" ] && error "You must specify the path to the system device tree with -s" - [ -f "${config_dir}/local.conf" ] || error "Invalid config dir: ${config_dir}" - [ -f "${system_dts}" ] || error "Unable to find: ${system_dts}" - system_dts=$(realpath ${system_dts}) - if [ -z "$psu_init_path" ]; then - psu_init_path=$(dirname ${system_dts}) - else - psu_init_path=$(realpath ${psu_init_path}) - fi - if [ -z "$pdi_path" ]; then - pdi_path=$(dirname ${system_dts}) - else - pdi_path=$(realpath ${pdi_path}) - fi - if [ -n "$domain_file" ]; then - domain_file=$(realpath ${domain_file}) - fi - -} - -detect_machine() { - if [ -z "${machine}" ]; then - if [ -n "${deviceid}" ]; then - case ${deviceid} in - # ZynqMP variants - xczu*cg) - machine="zynqmp" - soc_variant="cg" ;; - xczu*dr) - machine="zynqmp" - soc_variant="dr" ;; - xczu*eg) - machine="zynqmp" - soc_variant="eg" ;; - xczu*ev) - machine="zynqmp" - soc_variant="ev" ;; - # Versal variants - xcvm*) - machine="versal" - soc_variant="prime" ;; - xcvc*) - machine="versal" - soc_variant="ai-core" ;; - xcve*) - machine="versal" - soc_variant="ai-edge" ;; - xcvn*) - machine="versal" - soc_variant="net" ;; - xcvp*) - machine="versal" - soc_variant="premium" ;; - xcvh*) - machine="versal" - soc_variant="hbm" ;; - # Special Case Starter Kit SOMs - xck26) - if [ -z "${incmachine}" ]; then - incmachine="k26-smk.conf" - fi - machine="zynqmp" - soc_variant="ev" ;; - xck24) - if [ -z "${incmachine}" ]; then - incmachine="k24-smk.conf" - fi - machine="zynqmp" - soc_variant="eg" ;; - esac - else - # Identify the system type first using PSM/PMC/PMU - while read -r cpu core domain cpu_name os_hint; do - case ${cpu} in - pmu-microblaze) - machine="zynqmp" ;; - pmc-microblaze | psm-microblaze) - machine="versal" ;; - esac - done <${cpulist} - fi - fi - - # Machine not provided and we cannot identify.. - [ -z ${machine} ] && \ - error "Unable to autodetect machine type, use -t to specify the machine." - - case ${machine} in - zynqmp | versal) : ;; - *) error "Invalid machine type ${machine}; please choose zynqmp or versal" - esac - - [ -z ${soc_variant} ] && \ - warn "Unable to autodetect soc variant, use -v to specify a variant." -} - -dump_cpus() { - prefix="$1" - while read -r cpu core domain cpu_name os_hint; do - case ${cpu} in - \#*) ;; - \[*) ;; - pmu-microblaze) echo "${prefix}zynqmp-pmu ${cpu_name}" ;; - pmc-microblaze) echo "${prefix}versal-plm ${cpu_name}" ;; - psm-microblaze) echo "${prefix}versal-psm ${cpu_name}" ;; - xlnx,microblaze) echo "${prefix}microblaze ${core} ${cpu_name}";; - arm,*) echo "${prefix}${cpu/,/ } ${core} ${cpu_name}";; - *) echo "${prefix}${cpu} ${core} ${cpu_name}";; - esac - done <${cpulist} -} - -cortex_a53_linux() { - info "cortex-a53 for Linux [ $1 ]" - - if [ "$1" = "None" ]; then - dts_file="cortexa53-${machine}-linux.dts" - system_conf=${dts_file} - conf_file="" - else - mc_name=cortexa53-${machine}-$1-linux - dts_file="${mc_name}.dts" - multiconf="${multiconf} ${mc_name}" - conf_file=multiconfig/${mc_name}.conf - fi - - # Check if it is overlay dts otherwise just create linux dts - ( - cd ${dts_path} || error "Unable to cd to ${dts_path} dir" - if [ "${overlay_dts}" = "true" ]; then - if [ "${external_fpga}" = "true" ]; then - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" -- xlnx_overlay_dt ${machine} full \ - || error "lopper failed" - else - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} "${system_dts}" -- xlnx_overlay_dt ${machine} partial \ - || error "lopper failed" - fi - dtc -q -O dtb -o pl.dtbo -b 0 -@ pl.dtsi || error "dtc failed" - elif [ -n "${domain_file}" ]; then - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \ - -i "${domain_file}" -i "${lops_dir}/lop-a53-imux.dts" \ - -i "${lops_dir}/lop-domain-linux-a53.dts" \ - -i "${lops_dir}/lop-domain-linux-a53-prune.dts" \ - "${system_dts}" "${dts_file}" \ - || error "lopper failed" - else - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-a53-imux.dts" \ - -i "${lops_dir}/lop-domain-linux-a53.dts" \ - -i "${lops_dir}/lop-domain-linux-a53-prune.dts" \ - "${system_dts}" "${dts_file}" \ - || error "lopper failed" - fi - rm -f pl.dtsi lop-a53-imux.dts.dtb lop-domain-linux-a53.dts.dtb lop-domain-linux-a53-prune.dts.dtb - ) - - if [ -z "${conf_file}" ]; then - return $? - fi - - ## Generate a multiconfig - cat <"${conf_file}" -CONFIG_DTFILE = "${dts_file_path}/${dts_file}" - -TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}" -EOF -} - -a53_fsbl_done=0 -cortex_a53_baremetal() { - if [ "$1" = "fsbl" ]; then - [ ${a53_fsbl_done} = 1 ] && return - info "cortex-a53 FSBL baremetal configuration" - else - info "cortex-a53 baremetal configuration for core $2 [ $1 ]" - fi - - suffix=""; lto="-nolto" - if [ "$1" != "None" ]; then - suffix="-$1"; lto="" - fi - - mc_name="cortexa53-$2-${machine}${suffix}-baremetal" - dts_file="${mc_name}.dts" - multiconf="${multiconf} ${mc_name}" - conf_file="multiconfig/${mc_name}.conf" - libxil="machine/include/${mach_conf}/${mc_name}-libxil.conf" - features="machine/include/${mach_conf}/${mc_name}-features.conf" - yocto_distro="xilinx-standalone${lto}" - if [ "$1" = "fsbl" ]; then - fsbl_mcdepends="mc::${mc_name}:fsbl-firmware:do_deploy" - fsbl_deploy_dir="\${BASE_TMPDIR}/tmp-${mc_name}/deploy/images/\${MACHINE}" - multiconf_min="${multiconf_min} ${mc_name}" - a53_fsbl_done=1 - fi - - # Build device tree - ( - cd ${dts_path} || error "Unable to cd to ${dts_path} dir" - if [ -n "${domain_file}" ]; then - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \ - -i "${domain_file}" -i "${lops_dir}/lop-a53-imux.dts" "${system_dts}" "${dts_file}" \ - || error "lopper failed" - else - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-a53-imux.dts" \ - "${system_dts}" "${dts_file}" || error "lopper failed" - fi - rm -f lop-a53-imux.dts.dtb - ) - - # Build baremetal multiconfig - if [ -n "${domain_file}" ]; then - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dts}" \ - -- baremetaldrvlist_xlnx $3 "${embeddedsw}" \ - || error "lopper failed" - else - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" -- baremetaldrvlist_xlnx $3 "${embeddedsw}" \ - || error "lopper failed" - fi - - mv libxil.conf "${libxil}" - mv distro.conf "${features}" - sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES," - - if [ "$1" = "fsbl" ]; then - if [ ! -e "${psu_init_path}/psu_init.c" ]; then - warn "Warning: Unable to find psu_init.c in ${psu_init_path}" - fi - if [ ! -e "${psu_init_path}/psu_init.h" ]; then - warn "Warning: Unable to find psu_init.h in ${psu_init_path}" - fi - - cat <"${conf_file}" -PSU_INIT_PATH = "${psu_init_path}" -EOF - else - cat /dev/null >"${conf_file}" - fi - cat <>"${conf_file}" -CONFIG_DTFILE = "${dts_file_path}/${dts_file}" - -ESW_MACHINE = "$3" -DEFAULTTUNE = "cortexa53" - -TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}" - -DISTRO = "${yocto_distro}" -EOF -} - -cortex_a53_freertos() { - info "cortex-a53 FreeRTOS configuration for core $2 [ $1 ]" - - suffix="" - [ "$1" != "None" ] && suffix="-$1" - - mc_name="cortexa53-$2-${machine}${suffix}-freertos" - dts_file="${mc_name}.dts" - multiconf="${multiconf} ${mc_name}" - conf_file="multiconfig/${mc_name}.conf" - libxil="machine/include/${mach_conf}/${mc_name}-libxil.conf" - features="machine/include/${mach_conf}/${mc_name}-features.conf" - - # Build device tree - ( - cd ${dts_path} || error "Unable to cd to ${dts_path} dir" - if [ -n "${domain_file}" ]; then - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \ - -i "${domain_file}" -i "${lops_dir}/lop-a53-imux.dts" "${system_dts}" "${dts_file}" \ - || error "lopper failed" - else - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-a53-imux.dts" \ - "${system_dts}" "${dts_file}" || error "lopper failed" - fi - rm -f lop-a53-imux.dts.dtb - ) - - # Build baremetal multiconfig - if [ -n "${domain_file}" ]; then - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dts}" \ - -- baremetaldrvlist_xlnx $3 "${embeddedsw}" || error "lopper failed" - else - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" -- baremetaldrvlist_xlnx $3 "${embeddedsw}" \ - || error "lopper failed" - fi - - mv libxil.conf "${libxil}" - mv distro.conf "${features}" - sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES," - - cat <"${conf_file}" -CONFIG_DTFILE = "${dts_file_path}/${dts_file}" - -ESW_MACHINE = "$3" -DEFAULTTUNE = "cortexa53" - -TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}" - -DISTRO = "xilinx-freertos" -EOF -} - -cortex_a72_linux() { - info "cortex-a72 for Linux [ $1 ]" - - # Find the first file ending in .pdi - full_pdi_path=$(ls ${pdi_path}/*.pdi 2>/dev/null | head -n 1) - if [ -z "${full_pdi_path}" ]; then - error "Unable to find a pdi file in ${pdi_path}, use the -i option to point to the directory containing a .pdi file" - full_pdi_path="__PATH TO PDI FILE HERE__" - elif [ "${full_pdi_path}" != "$(ls ${pdi_path}/*.pdi 2>/dev/null)" ]; then - warn "Warning: multiple PDI files found, using first found $(basename ${full_pdi_path})." - fi - - if [ "$1" = "None" ]; then - dts_file="cortexa72-${machine}-linux.dts" - system_conf=${dts_file} - conf_file="" - else - mc_name="cortexa72-${machine}-$1-linux" - dts_file="${mc_name}.dts" - multiconf="${multiconf} ${mc_name}" - conf_file=multiconfig/${mc_name}.conf - fi - - ( - cd ${dts_path} || error "Unable to cd to ${dts_path} dir" - # Check if it is overlay dts otherwise just create linux dts - if [ "${overlay_dts}" = "true" ]; then - # As there is no partial support on Versal, As per fpga manager implementation there is - # a flag "external_fpga" which says apply overlay without loading the bit file. - if [ "${external_fpga}" = "true" ]; then - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" -- xlnx_overlay_dt \ - ${machine} full external_fpga || error "lopper failed" - else - # If there is no external_fpga flag, then the default is full - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} "${system_dts}" -- xlnx_overlay_dt \ - ${machine} full || error "lopper failed" - fi - dtc -q -O dtb -o pl.dtbo -b 0 -@ pl.dtsi || error "dtc failed" - elif [ -n "${domain_file}" ]; then - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \ - -i "${domain_file}" -i "${lops_dir}/lop-a72-imux.dts" \ - -i "${lops_dir}/lop-domain-a72.dts" \ - -i "${lops_dir}/lop-domain-a72-prune.dts" \ - "${system_dts}" "${dts_file}" \ - || error "lopper failed" - else - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-a72-imux.dts" \ - -i "${lops_dir}/lop-domain-a72.dts" \ - -i "${lops_dir}/lop-domain-a72-prune.dts" \ - "${system_dts}" "${dts_file}" || error "lopper failed" - fi - rm -f pl.dtsi lop-a72-imux.dts.dtb lop-domain-a72.dts.dtb lop-domain-a72-prune.dts.dtb - ) - - if [ -z "${conf_file}" ]; then - return $? - fi - - ## Generate a multiconfig - cat <"${conf_file}" -CONFIG_DTFILE = "${dts_file_path}/${dts_file}" - -TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}" -EOF -} - -cortex_a72_baremetal() { - info "cortex-a72 baremetal configuration for core $2 [ $1 ]" - - suffix="" - [ "$1" != "None" ] && suffix="-$1" - - mc_name="cortexa72-$2-${machine}${suffix}-baremetal" - dts_file="${mc_name}.dts" - multiconf="${multiconf} ${mc_name}" - conf_file="multiconfig/${mc_name}.conf" - libxil="machine/include/${mach_conf}/${mc_name}-libxil.conf" - features="machine/include/${mach_conf}/${mc_name}-features.conf" - - # Build device tree - ( - cd ${dts_path} || error "Unable to cd to ${dts_path} dir" - if [ -n "${domain_file}" ]; then - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \ - -i "${domain_file}" -i "${lops_dir}/lop-a72-imux.dts" "${system_dts}" "${dts_file}" \ - || error "lopper failed" - else - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-a72-imux.dts" \ - "${system_dts}" "${dts_file}" || error "lopper failed" - fi - rm -f lop-a72-imux.dts.dtb - ) - - # Build baremetal multiconfig - if [ -n "${domain_file}" ]; then - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dts}" \ - -- baremetaldrvlist_xlnx $3 "${embeddedsw}" || error "lopper failed" - else - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" -- baremetaldrvlist_xlnx $3 "${embeddedsw}" \ - || error "lopper failed" - fi - - mv libxil.conf "${libxil}" - mv distro.conf "${features}" - sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES," - - cat <"${conf_file}" -CONFIG_DTFILE = "${dts_file_path}/${dts_file}" - -ESW_MACHINE = "$3" -DEFAULTTUNE = "cortexa72" - -TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}" - -DISTRO = "xilinx-standalone-nolto" -EOF -} - -cortex_a72_freertos() { - info "cortex-a72 FreeRTOS configuration for core $2 [ $1 ]" - - suffix="" - [ "$1" != "None" ] && suffix="-$1" - - mc_name="cortexa72-$2-${machine}${suffix}-freertos" - dts_file="${mc_name}.dts" - multiconf="${multiconf} ${mc_name}" - conf_file="multiconfig/${mc_name}.conf" - libxil="machine/include/${mach_conf}/${mc_name}-libxil.conf" - features="machine/include/${mach_conf}/${mc_name}-features.conf" - - # Build device tree - ( - cd ${dts_path} || error "Unable to cd to ${dts_path} dir" - if [ -n "${domain_file}" ]; then - LOPPER_DTC_FLAGS="-b 0 -@" lopper -f --enhanced -x '*.yaml' \ - -i "${domain_file}" -i "${lops_dir}/lop-a72-imux.dts" "${system_dts}" "${dts_file}" \ - || error "lopper failed" - else - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-a72-imux.dts" \ - "${system_dts}" "${dts_file}" || error "lopper failed" - fi - rm -f lop-a72-imux.dts.dtb - ) - - # Build baremetal multiconfig - if [ -n "${domain_file}" ]; then - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dts}" \ - -- baremetaldrvlist_xlnx $3 "${embeddedsw}" || error "lopper failed" - else - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" -- baremetaldrvlist_xlnx $3 "${embeddedsw}" \ - || error "lopper failed" - fi - - mv libxil.conf "${libxil}" - mv distro.conf "${features}" - sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES," - - cat <"${conf_file}" -CONFIG_DTFILE = "${dts_file_path}/${dts_file}" - -ESW_MACHINE = "$3" -DEFAULTTUNE = "cortexa72" - -TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}" - -DISTRO = "xilinx-freertos" -EOF -} - -r5_fsbl_done=0 -cortex_r5_baremetal() { - if [ "$1" = "fsbl" ]; then - [ ${r5_fsbl_done} = 1 ] && return - info "cortex-r5 FSBL baremetal configuration" - else - info "cortex-r5 baremetal configuration for core $2 [ $1 ]" - fi - - suffix=""; lto="-nolto" - if [ "$1" != "None" ]; then - suffix="-$1"; lto="" - fi - - mc_name="cortexr5-$2-${machine}${suffix}-baremetal" - dts_file="${mc_name}.dts" - multiconf="${multiconf} ${mc_name}" - conf_file="multiconfig/${mc_name}.conf" - libxil="machine/include/${mach_conf}/${mc_name}-libxil.conf" - features="machine/include/${mach_conf}/${mc_name}-features.conf" - yocto_distro="xilinx-standalone${lto}" - - if [ "$1" = "fsbl" ]; then - r5fsbl_mcdepends="mc::${mc_name}:fsbl-firmware:do_deploy" - r5fsbl_deploy_dir="\${BASE_TMPDIR}/tmp-${mc_name}/deploy/images/\${MACHINE}" - r5_fsbl_done=1 - fi - - # Build device tree - ( - cd ${dts_path} || error "Unable to cd to ${dts_path} dir" - if [ -n "$domain_file" ]; then - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \ - -i "${domain_file}" -i "${lops_dir}/lop-r5-imux.dts" "${system_dts}" "${dts_file}" \ - || error "lopper failed" - else - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-r5-imux.dts" \ - "${system_dts}" "${dts_file}" || error "lopper failed" - fi - rm -f lop-r5-imux.dts.dtb - ) - - # Build baremetal multiconfig - if [ -n "${domain_file}" ]; then - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dts}" \ - -- baremetaldrvlist_xlnx $3 "${embeddedsw}" || error "lopper failed" - else - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" -- baremetaldrvlist_xlnx $3 "${embeddedsw}" \ - || error "lopper failed" - fi - - mv libxil.conf "${libxil}" - mv distro.conf "${features}" - sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES," - - if [ "$1" = "fsbl" ]; then - if [ ! -e "${psu_init_path}/psu_init.c" ]; then - warn "Warning: Unable to find psu_init.c in ${psu_init_path}" - fi - if [ ! -e "${psu_init_path}/psu_init.h" ]; then - warn "Warning: Unable to find psu_init.h in ${psu_init_path}" - fi - - cat <"${conf_file}" -PSU_INIT_PATH = "${psu_init_path}" -EOF - else - cat /dev/null >"${conf_file}" - fi - cat <>"${conf_file}" -CONFIG_DTFILE = "${dts_file_path}/${dts_file}" - -ESW_MACHINE = "$3" -DEFAULTTUNE = "cortexr5" - -TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}" - -DISTRO = "$yocto_distro" -EOF -} - -cortex_r5_freertos() { - info "cortex-r5 FreeRTOS configuration for core $2 [ $1 ]" - - suffix="" - [ "$1" != "None" ] && suffix="-$1" - - mc_name="cortexr5-$2-${machine}${suffix}-freertos" - dts_file="${mc_name}.dts" - multiconf="${multiconf} ${mc_name}" - conf_file="multiconfig/${mc_name}.conf" - libxil="machine/include/${mach_conf}/${mc_name}-libxil.conf" - features="machine/include/${mach_conf}/${mc_name}-features.conf" - - # Build device tree - ( - cd ${dts_path} || error "Unable to cd to ${dts_path} dir" - if [ -n "$domain_file" ]; then - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' \ - -i "${domain_file}" -i "${lops_dir}/lop-r5-imux.dts" "${system_dts}" "${dts_file}" \ - || error "lopper failed" - else - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-r5-imux.dts" \ - "${system_dts}" "${dts_file}" || error "lopper failed" - fi - rm -f lop-r5-imux.dts.dtb - ) - - # Build baremetal multiconfig - if [ -n "${domain_file}" ]; then - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dts}" \ - -- baremetaldrvlist_xlnx $3 "${embeddedsw}" || error "lopper failed" - else - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" -- baremetaldrvlist_xlnx $3 "${embeddedsw}" \ - || error "lopper failed" - fi - - mv libxil.conf "${libxil}" - mv distro.conf "${features}" - sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES," - - cat <"${conf_file}" -CONFIG_DTFILE = "${dts_file_path}/${dts_file}" - -ESW_MACHINE = "$3" -DEFAULTTUNE = "cortexr5" - -TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}" - -DISTRO = "xilinx-freertos" -EOF -} - -# Generate microblaze tunings -microblaze_done=0 -process_microblaze() { - [ ${microblaze_done} = 1 ] && return - - info "Generating microblaze processor tunes" - - mkdir -p machine/include/${mach_conf} - ( - cd ${dts_path} || error "Unable to cd to ${dts_path} dir" - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-microblaze-yocto.dts" "${system_dts}" \ - || error "lopper failed" - rm -f lop-microblaze-yocto.dts.dtb - ) >machine/include/${mach_conf}/microblaze.inc - - echo "require conf/machine/include/xilinx-microblaze.inc" >> machine/include/${mach_conf}/microblaze.inc - - microblaze_done=1 -} - -# pmu-microblaze is ALWAYS baremetal, no domain -pmu-microblaze() { - info "Microblaze ZynqMP PMU" - - process_microblaze - - mc_name="microblaze-0-pmu" - dts_file="${mc_name}.dts" - multiconf="${multiconf} ${mc_name}" - multiconf_min="${multiconf_min} ${mc_name}" - conf_file="multiconfig/${mc_name}.conf" - libxil="machine/include/${mach_conf}/${mc_name}-libxil.conf" - features="machine/include/${mach_conf}/${mc_name}-features.conf" - - pmu_mcdepends="mc::${mc_name}:pmu-firmware:do_deploy" - pmu_firmware_deploy_dir="\${BASE_TMPDIR}/tmp-${mc_name}/deploy/images/\${MACHINE}" - - # Build device tree - ( - cd ${dts_path} || error "Unable to cd to ${dts_path} dir" - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" "${dts_file}" || error "lopper failed" - ) - - # Build baremetal multiconfig - if [ -n "${domain_file}" ]; then - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dts}" \ - -- baremetaldrvlist_xlnx $1 "${embeddedsw}" || error "lopper failed" - else - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" -- baremetaldrvlist_xlnx $1 "${embeddedsw}" \ - || error "lopper failed" - fi - - mv libxil.conf "${libxil}" - mv distro.conf "${features}" - sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES," - - cat <"${conf_file}" -CONFIG_DTFILE = "${dts_file_path}/${dts_file}" - -ESW_MACHINE = "$1" - -DEFAULTTUNE = "microblaze-pmu" - -TARGET_CFLAGS += "-DPSU_PMU=1U" - -TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}" - -DISTRO = "xilinx-standalone" -EOF -} - -# pmc-microblaze is ALWAYS baremetal, no domain -pmc-microblaze() { - info "Microblaze Versal PMC" - - process_microblaze - - mc_name="microblaze-0-pmc" - dts_file="${mc_name}.dts" - multiconf="${multiconf} ${mc_name}" - multiconf_min="${multiconf_min} ${mc_name}" - conf_file="multiconfig/${mc_name}.conf" - libxil="machine/include/${mach_conf}/${mc_name}-libxil.conf" - features="machine/include/${mach_conf}/${mc_name}-features.conf" - - plm_mcdepends="mc::${mc_name}:plm-firmware:do_deploy" - plm_deploy_dir="\${BASE_TMPDIR}/tmp-${mc_name}/deploy/images/\${MACHINE}" - - # Build device tree - ( - cd ${dts_path} || error "Unable to cd to ${dts_path} dir" - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" "${dts_file}" || error "lopper failed" - ) - - # Build baremetal multiconfig - if [ -n "${domain_file}" ]; then - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dts}" \ - -- baremetaldrvlist_xlnx $1 "${embeddedsw}" || error "lopper failed" - else - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" -- baremetaldrvlist_xlnx $1 "${embeddedsw}" \ - || error "lopper failed" - fi - - mv libxil.conf "${libxil}" - mv distro.conf "${features}" - sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES," - - cat <"${conf_file}" -CONFIG_DTFILE = "${dts_file_path}/${dts_file}" - -ESW_MACHINE = "$1" - -DEFAULTTUNE = "microblaze-pmc" - -TARGET_CFLAGS += "-DVERSAL_PLM=1" - -TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}" - -DISTRO = "xilinx-standalone" -EOF -} - -# psm-microblaze is ALWAYS baremetal, no domain -psm-microblaze() { - info "Microblaze Versal PSM" - - process_microblaze - - mc_name="microblaze-0-psm" - dts_file="${mc_name}.dts" - multiconf="${multiconf} ${mc_name}" - multiconf_min="${multiconf_min} ${mc_name}" - conf_file="multiconfig/${mc_name}.conf" - libxil="machine/include/${mach_conf}/${mc_name}-libxil.conf" - features="machine/include/${mach_conf}/${mc_name}-features.conf" - - psm_mcdepends="mc::${mc_name}:psm-firmware:do_deploy" - psm_firmware_deploy_dir="\${BASE_TMPDIR}/tmp-${mc_name}/deploy/images/\${MACHINE}" - - # Build device tree - ( - cd ${dts_path} || error "Unable to cd to ${dts_path} dir" - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" "${dts_file}" || error "lopper failed" - ) - - # Build baremetal multiconfig - if [ -n "${domain_file}" ]; then - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -x '*.yaml' -i "${domain_file}" "${system_dts}" \ - -- baremetaldrvlist_xlnx $1 "${embeddedsw}" || error "lopper failed" - else - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f "${system_dts}" -- baremetaldrvlist_xlnx $1 "${embeddedsw}" \ - || error "lopper failed" - fi - - mv libxil.conf "${libxil}" - mv distro.conf "${features}" - sed -i ${features} -e "s,DISTRO_FEATURES,MACHINE_FEATURES," - - cat <"${conf_file}" -CONFIG_DTFILE = "${dts_file_path}/${dts_file}" - -ESW_MACHINE = "$1" - -DEFAULTTUNE = "microblaze-psm" - -TARGET_CFLAGS += "-DVERSAL_psm=1" - -TMPDIR = "\${BASE_TMPDIR}/tmp-${mc_name}" - -DISTRO = "xilinx-standalone" -EOF -} - -generate_machine() { - info "Generating machine conf file" - conf_file="machine/${mach_conf}.conf" - - # Machine include file - if [ -z ${incmachine} ]; then - if [ -n "${soc_variant}" ]; then - incmachine="${machine}-${soc_variant}-generic.conf" - else - incmachine="${machine}-generic.conf" - fi - fi - - mkdir -p machine - # Generate header - cat <"${conf_file}" -#@TYPE: Machine -#@NAME: ${mach_conf} -#@DESCRIPTION: ${model} - -#### Preamble -MACHINEOVERRIDES =. "\${@['', '${mach_conf}:']['${mach_conf}' != '\${MACHINE}']}" -#### Regular settings follow - -EOF - - if [ -n "${overrides}" ]; then - cat <>"${conf_file}" -MACHINEOVERRIDES .= ":${overrides}" - -EOF - fi - - if [ "${machine}" == "zynqmp" ]; then - cat <>"${conf_file}" -TUNEFILE[microblaze-pmu] = "conf/machine/include/${mach_conf}/microblaze.inc" -EOF - elif [ "${machine}" == "versal" ]; then - cat <>"${conf_file}" -TUNEFILE[microblaze-pmc] = "conf/machine/include/${mach_conf}/microblaze.inc" -TUNEFILE[microblaze-psm] = "conf/machine/include/${mach_conf}/microblaze.inc" -EOF - fi - - sysdt_path=$(dirname ${system_dts}) - sysdt_base=$(basename ${system_dts}) - cat <>"${conf_file}" - -# Set the default (linux) domain device tree -CONFIG_DTFILE ?= "${dts_file_path}/${system_conf}" -CONFIG_DTFILE[vardepsexclude] += "TOPDIR" - -require conf/machine/${incmachine} - -# System Device Tree does not use HDF_MACHINE -HDF_MACHINE = "" - -# Set the system device trees -SYSTEM_DTFILE_DIR = "${sysdt_path}" -SYSTEM_DTFILE = "\${SYSTEM_DTFILE_DIR}/${sysdt_base}" -SYSTEM_DTFILE[vardepsexclude] += "SYSTEM_DTFILE_DIR" - -# Load the dynamic machine features -include conf/machine/include/${mach_conf}/\${BB_CURRENT_MC}-features.conf -LIBXIL_CONFIG = "conf/machine/include/${mach_conf}/\${BB_CURRENT_MC}-libxil.conf" - -EOF - - if [ -n "${fsbl_mcdepends}" ]; then - cat <>"${conf_file}" -# First Stage Boot Loader -FSBL_DEPENDS = "" -FSBL_MCDEPENDS = "${fsbl_mcdepends}" -FSBL_DEPLOY_DIR = "${fsbl_deploy_dir}" - -EOF - fi - if [ -n "${r5fsbl_mcdepends}" ]; then - cat <>"${conf_file}" -# Cortex-R5 First Stage Boot Loader -R5FSBL_DEPENDS = "" -R5FSBL_MCDEPENDS = "${r5fsbl_mcdepends}" -R5FSBL_DEPLOY_DIR = "${r5fsbl_deploy_dir}" - -EOF - fi - if [ -n "${pmu_mcdepends}" ]; then - cat <>"${conf_file}" -# PMU Firware -PMU_DEPENDS = "" -PMU_MCDEPENDS = "${pmu_mcdepends}" -PMU_FIRMWARE_DEPLOY_DIR = "${pmu_firmware_deploy_dir}" - -EOF - fi - if [ -n "${plm_mcdepends}" ]; then - cat <>"${conf_file}" -# Platform Loader and Manager -PLM_DEPENDS = "" -PLM_MCDEPENDS = "${plm_mcdepends}" -PLM_DEPLOY_DIR = "${plm_deploy_dir}" - -EOF - fi - if [ -n "${psm_mcdepends}" ]; then - cat <>"${conf_file}" -# PSM Firmware -PSM_DEPENDS = "" -PSM_MCDEPENDS = "${psm_mcdepends}" -PSM_FIRMWARE_DEPLOY_DIR = "${psm_firmware_deploy_dir}" - -EOF - fi - - if [ -n "${full_pdi_path}" ]; then - pdi_path_dir=$(dirname ${full_pdi_path}) - pdi_path_base=$(basename ${full_pdi_path}) - cat <>"${conf_file}" -# Versal PDI -PDI_PATH_DIR = "${pdi_path_dir}" -PDI_PATH = "\${PDI_PATH_DIR}/${pdi_path_base}" -PDI_PATH[vardepsexclude] += "PDI_PATH_DIR" - -EOF - fi - - cat <>"${conf_file}" -# Exclude BASE_TMPDIR from hash calculations -BB_HASHEXCLUDE_COMMON:append = " BASE_TMPDIR" - -# Update bootbin to use proper device tree -BIF_PARTITION_IMAGE[device-tree] = "\${RECIPE_SYSROOT}/boot/devicetree/\${@os.path.basename(d.getVar('CONFIG_DTFILE').replace('.dts', '.dtb'))}" -# Remap boot files to ensure the right device tree is listed first -IMAGE_BOOT_FILES =+ "devicetree/\${@os.path.basename(d.getVar('CONFIG_DTFILE').replace('.dts', '.dtb'))}" - -#### No additional settings should be after the Postamble -#### Postamble -PACKAGE_EXTRA_ARCHS:append = "\${@['', ' ${mach_conf//-/_}']['${mach_conf}' != "\${MACHINE}"]}" -EOF -} - -parse_cpus() { - gen_linux_dts="None" - while read -r cpu core domain cpu_name os_hint; do - # Skip commented lines and WARNINGs - case ${cpu} in - \#* | \[WARNING\]:) continue ;; - esac - - case ${cpu} in - - arm,cortex-a53) - # We need a base cortex_a53_baremetal for the FSBL - if [ "${core}" == 0 ]; then - cortex_a53_baremetal fsbl ${core} ${cpu_name} - fi - if [ "${os_hint}" == "None" ]; then - if [ "${gen_linux_dts}" == "None" ]; then - cortex_a53_linux "${domain}" - gen_linux_dts="True" - fi - cortex_a53_baremetal "${domain}" ${core} ${cpu_name} - cortex_a53_freertos "${domain}" ${core} ${cpu_name} - else - case "${os_hint}" in - linux*) - if [ "${gen_linux_dts}" == "None" ]; then - cortex_a53_linux "${domain}" - gen_linux_dts="True" - fi - ;; - baremetal*) - cortex_a53_baremetal "${domain}" ${core} ${cpu_name};; - freertos*) - cortex_a53_freertos "${domain}" ${core} ${cpu_name};; - *) - warn "cortex-a53 for unknown OS (${os_hint}), parsing baremetal. ${domain}" - cortex_a53_baremetal "${domain}" - esac - fi - ;; - - arm,cortex-a72) - if [ "${os_hint}" == "None" ]; then - if [ "${gen_linux_dts}" == "None" ]; then - cortex_a72_linux "${domain}" - gen_linux_dts="True" - fi - cortex_a72_baremetal "${domain}" ${core} ${cpu_name} - cortex_a72_freertos "${domain}" ${core} ${cpu_name} - else - case "${os_hint}" in - linux*) - if [ "${gen_linux_dts}" == "None" ]; then - cortex_a72_linux "${domain}" - gen_linux_dts="True" - fi - ;; - baremetal*) - cortex_a72_baremetal "${domain}" ${core} ${cpu_name};; - freertos*) - cortex_a72_freertos "${domain}" ${core} ${cpu_name};; - *) - warn "cortex-a72 for unknown OS (${os_hint}), parsing baremetal. ${domain}" - cortex_a72_baremetal "${domain}" - esac - fi - ;; - arm,cortex-r5) - if [ "${os_hint}" == "None" ]; then - # We need a base cortex_r5_baremetal for the FSBL for ZynqMP platform - [ "${machine}" = "zynqmp" ] && cortex_r5_baremetal fsbl ${core} ${cpu_name} - cortex_r5_baremetal "${domain}" ${core} ${cpu_name} - cortex_r5_freertos "${domain}" ${core} ${cpu_name} - else - case "${os_hint}" in - baremetal*) - cortex_r5_baremetal "${domain}" ${core} ${cpu_name};; - freertos*) - cortex_r5_freertos "${domain}" ${core} ${cpu_name};; - *) - warn "cortex-r5 for unknown OS (${os_hint}), parsing baremetal. ${domain}" - cortex_r5_baremetal "${domain}" - esac - fi - ;; - - xlnx,microblaze) - process_microblaze - case "${os_hint}" in - None | baremetal*) - warn "Microblaze for Baremetal ${domain} not yet implemented" ;; - Linux) - warn "Microblaze for Linux ${domain} not yet implemented" ;; - *) - warn "Microblaze for unknown OS (${os_hint}), not yet implemented. ${domain}" ;; - esac - ;; - - pmu-microblaze) - pmu-microblaze ${cpu_name};; - - pmc-microblaze) - pmc-microblaze ${cpu_name};; - - psm-microblaze) - psm-microblaze ${cpu_name};; - *) - warn "Unknown CPU ${cpu}" - - esac - done <${cpulist} -} - -gen_local_conf() { - cat << EOF >> $1 - -# Avoid errors in some baremetal configs as these layers may be present -# but are not used. Note the following lines are optional and can be -# safetly disabled. -SKIP_META_VIRT_SANITY_CHECK = "1" -SKIP_META_SECURITY_SANITY_CHECK = "1" -SKIP_META_TPM_SANITY_CHECK = "1" - -# Each multiconfig will define it's own TMPDIR, this is the new default based -# on BASE_TMPDIR for the Linux build -TMPDIR = "\${BASE_TMPDIR}/tmp" - -# Use the newly generated MACHINE -MACHINE = "${mach_conf}" - -# All of the TMPDIRs must be in a common parent directory. This is defined -# as BASE_TMPDIR. -# Adjust BASE_TMPDIR if you want to move the tmpdirs elsewhere, such as /tmp -BASE_TMPDIR ?= "\${TOPDIR}" - -# The following is the full set of multiconfigs for this configuration -# A large list can cause a slow parse. -#BBMULTICONFIG ?= "${multiconf}" -# Alternatively trim the list to the minimum -BBMULTICONFIG = "${multiconf_min}" -EOF -} - -gen_petalinux_conf() { - cd "${config_dir}" || exit - ( - if [ "$machine" == "zynqmp" ]; then - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} "${system_dts}" -- petalinuxconfig_xlnx psu_cortexa53_0 ${petalinux_schema} \ - || error "lopper failed" - else - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} "${system_dts}" -- petalinuxconfig_xlnx psv_cortexa72_0 ${petalinux_schema} \ - || error "lopper failed" - fi - ) -} -parse_args "$@" - -lopper=$(command -v lopper) -lopper_dir=$(dirname "${lopper}") -lops_dir=$(ls -d $(dirname "${lopper_dir}")/lib/python*/site-packages/lopper/lops | head -n 1) -embeddedsw=$(dirname "${lopper_dir}")/share/embeddedsw -system_conf="" -multiconf="" - -[ -z "${lopper}" ] && error "Unable to find lopper, please source the prestep environment" - -cpulist=$(mktemp) - -priordir=$(pwd) -cd "${config_dir}" || exit -mkdir -p dts multiconfig machine/include -# Get mach_conf name and model name -( - cd dts || error "Unable to cd to dts dir" - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-machine-name.dts" "${system_dts}" \ - /dev/null > ${cpulist} || error "lopper failed" - rm -f "lop-machine-name.dts.dtb" -) -read local_mach_conf deviceid model < ${cpulist} -if [ -z "${mach_conf}" ]; then - mach_conf=${local_mach_conf} -fi - -if [ -z "${dts_path}" ]; then - dts_path=${local_mach_conf} -fi -# Is it relative? If so, relative to conf/dts -if [ "${dts_path##/}" = "${dts_path}" ]; then - dts_path="dts/${dts_path}" -else - dts_path=$(realpath ${dts_path}) -fi -# Convert the DTS_PATH into something we can put in a config file -if [ "${dts_path##/}" = "${dts_path}" ]; then - dts_file_path="\${TOPDIR}/conf/${dts_path}" -else - dts_file_path="${dts_path}" -fi - -# Generate CPU list -( - cd dts || error "Unable to cd to dts dir" - LOPPER_DTC_FLAGS="-b 0 -@" ${lopper} -f --enhanced -i "${lops_dir}/lop-xilinx-id-cpus.dts" "${system_dts}" \ - /dev/null > ${cpulist} || error "lopper failed" - rm -f "lop-xilinx-id-cpus.dts.dtb" -) - -detect_machine -# Now that we know the machine name, we can create the directory -mkdir -p machine/include/${mach_conf} -mkdir -p ${dts_path} - -echo "System Configuration:" -echo "MODEL = \"${model}\"" -echo "MACHINE = \"${mach_conf}\"" -echo "DEVICE_ID = \"${deviceid}\"" -echo "SOC_FAMILY = \"${machine}\"" -echo "SOC_VARIANT = \"${soc_variant}\"" -echo "CPUs:" -dump_cpus " = " -echo - -info "Generating configuration..." -parse_cpus - -generate_machine - -cd ${priordir} -if [ -z "${localconf}" ]; then - echo - echo "To enable this, add the following to your local.conf:" - echo - tmpfile=$(mktemp) - gen_local_conf ${tmpfile} - cat $tmpfile - rm $tmpfile -else - echo - echo "Configuration for local.conf written to ${localconf}" - echo - gen_local_conf ${localconf} -fi - -if [ -n "${petalinux_schema}" ]; then - echo - echo "Generating petalinux config file:" - echo - gen_petalinux_conf -fi - -# Cleanup our temp file -rm -rf ${cpulist} ${config_dir}/CMakeLists.txt ${config_dir}/DRVLISTConfig.cmake diff --git a/meta-xilinx-standalone-experimental/recipes-core/meta/meta-xilinx-setup.bb b/meta-xilinx-standalone-experimental/recipes-core/meta/meta-xilinx-setup.bb deleted file mode 100644 index dc7d647a..00000000 --- a/meta-xilinx-standalone-experimental/recipes-core/meta/meta-xilinx-setup.bb +++ /dev/null @@ -1,91 +0,0 @@ -DESCRIPTION = "Xilinx Device Tree based configuration generator" -LICENSE = "MIT" - -SRC_URI += " \ - file://dt-processor.sh \ - file://README-setup \ -" - -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" - -TOOLCHAIN_TARGET_TASK = "" - -TOOLCHAIN_HOST_TASK = "\ - nativesdk-sdk-provides-dummy \ - nativesdk-lopper \ - nativesdk-xilinx-lops \ - nativesdk-esw-conf \ - " - -MULTIMACH_TARGET_SYS = "${SDK_ARCH}-nativesdk${SDK_VENDOR}-${SDK_OS}" -PACKAGE_ARCH = "${SDK_ARCH}_${SDK_OS}" -PACKAGE_ARCHS = "" -TARGET_ARCH = "none" -TARGET_OS = "none" - -SDK_PACKAGE_ARCHS += "buildtools-dummy-${SDKPKGSUFFIX}" - -TOOLCHAIN_OUTPUTNAME ?= "${SDK_ARCH}-xilinx-nativesdk-prestep-${DISTRO_VERSION}" - -SDK_TITLE = "Device Tree setup tools" - -RDEPENDS = "${TOOLCHAIN_HOST_TASK}" - -EXCLUDE_FROM_WORLD = "1" - -inherit populate_sdk -inherit toolchain-scripts-base -inherit nopackages - -deltask install -deltask populate_sysroot - -do_populate_sdk[stamp-extra-info] = "${PACKAGE_ARCH}" - -REAL_MULTIMACH_TARGET_SYS = "none" - -# Needed to ensure README-setup and dt-processor.sh are available -addtask do_populate_sdk after do_unpack - -create_sdk_files:append () { - - install -m 0644 ${WORKDIR}/README-setup ${SDK_OUTPUT}/${SDKPATH}/. - install -m 0755 ${WORKDIR}/dt-processor.sh ${SDK_OUTPUT}/${SDKPATH}/. - - rm -f ${SDK_OUTPUT}/${SDKPATH}/site-config-* - rm -f ${SDK_OUTPUT}/${SDKPATH}/environment-setup-* - rm -f ${SDK_OUTPUT}/${SDKPATH}/version-* - - # Generate new (mini) sdk-environment-setup file - script=${1:-${SDK_OUTPUT}/${SDKPATH}/environment-setup-${SDK_SYS}} - touch $script - echo 'export PATH=${SDKPATHNATIVE}${bindir_nativesdk}:$PATH' >> $script - echo 'export OECORE_NATIVE_SYSROOT="${SDKPATHNATIVE}"' >> $script - echo 'export GIT_SSL_CAINFO="${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt"' >>$script - echo 'export SSL_CERT_FILE="${SDKPATHNATIVE}${sysconfdir}/ssl/certs/ca-certificates.crt"' >>$script - - toolchain_create_sdk_version ${SDK_OUTPUT}/${SDKPATH}/version-${SDK_SYS} - - cat >> $script <>$script - echo 'echo "$BB_ENV_PASSTHROUGH_ADDITIONS" | grep -q "NO32LIBS"' >>$script - echo '[ $? != 0 ] && export BB_ENV_PASSTHROUGH_ADDITIONS="NO32LIBS $BB_ENV_PASSTHROUGH_ADDITIONS"' >>$script - fi -} - -# buildtools-tarball doesn't need config site -TOOLCHAIN_NEED_CONFIGSITE_CACHE = "" - -# The recipe doesn't need any default deps -INHIBIT_DEFAULT_DEPS = "1" -- cgit v1.2.3-54-g00ecf From c2806bb3e80d38d35d6ee4d7e4c9f01152eb67c8 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 15 Nov 2023 12:51:56 +0530 Subject: aie-rt : Updated SRCREV for 2024.1_2007 Update send-email.yml --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index d806d9eb..4b388d2a 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "main-aie" -SRCREV ?= "a2d48abf88c729defde2b7364e77e7ddee1e8c09" +SRCREV ?= "79cc922fcd44d9b75f9e29e73ab38e7849e17a6e" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From faf21e40ac972e4b9ee3eddb79c5140f03b9364e Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 15 Nov 2023 17:31:50 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_9867 scripts: pyesw: Remove the dependency of xiltimer in embedded applications scripts: pyesw: validate_bsp: Make adjustments to library availability checks based on the processor list that supports it sw_services: Add input validation in XOcp_ProcessCmd sw_services: xilocp: Fixed violation of MISRA C Rule 8.3 sw_services: xilocp: Fixed violation of MISRA C Rule 10.4 sw_services: xilocp: Fixed violation of MISRA C Rule 4.7 sw_services: xilocp: Fixed violation of MISRA C Rule 8.9 sw_services: xilocp: Add comments for macros sw_services: xilocp: Move handling of SetSwPcrConfig CDO mipicsiss:ZCU102 xmipi_example.c and xmipi_menu.c Updated. mipicsiss:Version updated for 2024.1 xilpm: versal: split xpm_pin headers --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 0aa46338..be4a90a4 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "2b99df5e395a7425dda8cc3aa4ade82e54d09d1c" +ESW_REV[2024.1] = "0148dd3345e01d502c24e311d486a947296e9ea5" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 160623c7afeba04e32bb920374033342b268a529 Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Thu, 16 Nov 2023 12:30:11 +0530 Subject: Updated Commit ID ipinfo.yaml: Add available memory banks for versal-net Signed-off-by: Siva Addepalli --- meta-xilinx-core/gen-machine-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf index 02b9a969..f989df5a 160000 --- a/meta-xilinx-core/gen-machine-conf +++ b/meta-xilinx-core/gen-machine-conf @@ -1 +1 @@ -Subproject commit 02b9a969a367abb8cfadcf904db612a6eb3fc70e +Subproject commit f989df5aba4c7215f1e15940c1257a4c56999948 -- cgit v1.2.3-54-g00ecf From 3d95afe861651d401a7f5b9274a9f97cbba85af7 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 16 Nov 2023 12:45:46 +0530 Subject: arm-trusted-firmware : Updated SRCREV for 2024.1_7471 Merge "fix(arm): correct the SPMC_AT_EL3 condition" into integration Merge "fix(xlat): set MAX_PHYS_ADDR to total mapped physical region" into integration Merge "fix(intel): update boot scratch cold register to use cold 8" into integration Merge changes from topic "sb/remove-cryptocell" into integration Merge "docs(qemu): mention a55 in list of v8.2 cores" into integration Merge "build(qemu): use xlat tables v2 directly" into integration chore(npcm845x): remove CryptoCell-712/713 support build(qemu): use xlat tables v2 directly docs(qemu): mention a55 in list of v8.2 cores fix(arm): correct the SPMC_AT_EL3 condition chore(auth)!: remove CryptoCell-712/713 support Merge "build(qemu-sbsa): it is GICv3 platform" into integration Merge changes Ia72b2542,I1eba5671 into integration Merge "chore(libfdt): update header files to v1.7.0 tag" into integration Merge "refactor(cm): introduce INIT_UNUSED_NS_EL2 macro" into integration Merge "fix(el3-spmc): remove experimental flag" into integration Merge changes from topic "ns/spmc_at_el3" into integration Merge "fix(smccc): ensure that mpidr passed through SMC is valid" into integration fix(el3-spmc): remove experimental flag feat(sgi): increase sp memmap size feat(build): include plat header in fdt build feat(docs): save BL32 image base and size in entry point info feat(arm): save BL32 image base and size in entry point info refactor(cm): introduce INIT_UNUSED_NS_EL2 macro chore(compiler-rt): update compiler-rt source files chore(zlib): update zlib to version 1.3 chore(libfdt): update header files to v1.7.0 tag fix(smccc): ensure that mpidr passed through SMC is valid build(qemu-sbsa): it is GICv3 platform Merge "fix(sdei): ensure that interrupt ID is valid" into integration Merge changes from topic "enable_assertion" into integration Merge changes from topic "errata" into integration Merge "fix(ti): release lock in all TI-SCI xfer return paths" into integration Merge "feat(xilinx): switch boot console to runtime" into integration Merge "docs: add TF-A version numbering information" into integration Merge "feat(zynqmp): remove pm_ioctl_set_sgmii_mode api" into integration fix(ti): release lock in all TI-SCI xfer return paths fix(intel): update boot scratch cold register to use cold 8 fix(xlat): set MAX_PHYS_ADDR to total mapped physical region docs: add TF-A version numbering information feat(zynqmp): remove pm_ioctl_set_sgmii_mode api fix(cpus): workaround for Cortex-X2 erratum 2742423 fix(cpus): workaround for Cortex-A710 erratum 2742423 fix(cpus): workaround for Neoverse N2 erratum 2340933 fix(cpus): workaround for Neoverse N2 erratum 2346952 fix(sdei): ensure that interrupt ID is valid feat(zynqmp): enable assertion feat(versal-net): enable assertion feat(versal): enable assertion feat(xilinx): switch boot console to runtime --- .../recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb index 5a288b20..87aeb17e 100644 --- a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb +++ b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb @@ -1,5 +1,5 @@ ATF_VERSION = "3.0" -SRCREV = "9bb15ab53ad2dc22323f4a90256a7fe7e7399960" +SRCREV = "e7781c84e9b36c948aa84721a09d96ee9e2b6eef" BRANCH = "xlnx_rebase_v3.0" LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031" -- cgit v1.2.3-54-g00ecf From 3461e67fe3618501cf172c299d1e11512e045be4 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 16 Nov 2023 12:52:24 +0530 Subject: aie-rt : Updated SRCREV for 2024.1_8347 Update send-email.yml --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index 4b388d2a..8927a504 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "main-aie" -SRCREV ?= "79cc922fcd44d9b75f9e29e73ab38e7849e17a6e" +SRCREV ?= "ad66823f72bfe0b65280e981e2d55f457af91e69" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From df49a9aef80a1df14e557326dac99290d593ec78 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 17 Nov 2023 11:20:25 +0530 Subject: arm-trusted-firmware : Updated SRCREV for 2024.1_2423 Merge "build(mbedtls): add deprecation notice" into integration Merge "refactor(auth): remove return_if_error() macro" into integration refactor(auth): remove return_if_error() macro build(mbedtls): add deprecation notice --- .../recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb index 87aeb17e..511e0e61 100644 --- a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb +++ b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb @@ -1,5 +1,5 @@ ATF_VERSION = "3.0" -SRCREV = "e7781c84e9b36c948aa84721a09d96ee9e2b6eef" +SRCREV = "5e52433dd6794aa5c2186a990cb7f4dfa6f2ef01" BRANCH = "xlnx_rebase_v3.0" LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031" -- cgit v1.2.3-54-g00ecf From 0a5a84c47c90a75fb8e08841c091e587ffa55b97 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 17 Nov 2023 11:26:07 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_3223 xilpm: versal_net: split xpm_requirement.h to platform specific headers xilpm: versal_net: subsystem layout and plm update xilpm:versal_net: xpm_update enhance support xilpm: versal_net: Change data layout to help PLM update xilsem:GT Scan SHA computation moved out of the arbitration sequence. sw_apps:memory_tests: Exclude pcie related memory regions --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index be4a90a4..0fd15fed 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "0148dd3345e01d502c24e311d486a947296e9ea5" +ESW_REV[2024.1] = "d9b132c366ace752a26cc44ff6118d9b0c560b04" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From c9a51a19e2859e4b7054a2e1ee4501d814e14eed Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 20 Nov 2023 15:49:04 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_4327 sw_services: xilfpga: Adds proper validations checks for input parameters sw_services: xilplmi: Update error action to NONE after disabling the error axipcie: Overview add to driver axipcie: Update mdd version axipcie: Update copyright year axipcie: Added properties to support SDT flow. xilffs: Update FATFS to fix the issues in 0.15 version qspipsu: Add support for W25Q256JW Winbond flash part ipipsu: Update for the name change xilffs: Fix MISRA-C violations cpu_riscv: Update makefile to fix compilation issues on windows machines xilpm:versal_net: Restore custom error handlers --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 0fd15fed..1bd68834 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "d9b132c366ace752a26cc44ff6118d9b0c560b04" +ESW_REV[2024.1] = "8fbb3b54b39963ce38c1a55bb18d1dd12030b221" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 35836b552db19bff5aa6106240cf171f7d91964e Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Tue, 14 Nov 2023 12:45:38 +0530 Subject: Updated SRCREV of dfx-mgr for 2024.1_5615 dfx_mgr: remove internal names in listIRbuf output dfx_mgr: scan for new firmware before loading README.md: /var/run and Vivado UID/PID dfx_mgr: move server socket to /var/run dfx_mgr: detect zeros in PID, UID compare README.md: AIE and graph notes README.md: add libdfx, XRT, kria-dfx-hw links dfx_mgr: avoid reading Clear-On-Read register client: API to set Data-Mover configuration client: list or set Data-Mover configuration dfx_mgr: display or configure Data-Movers dfx-mgr: get Inter-RP address from shell.json accel: Use sbustring match to get VA address dfx-mgrd: add uid, pid checks Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb index fd808d50..3a38c1c3 100644 --- a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb +++ b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb @@ -9,7 +9,7 @@ BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != ' SRC_URI = "${REPO};${BRANCHARG}" BRANCH = "master" -SRCREV = "d78eac47f17bca4326a4540ff5d2ebea7d9c45ed" +SRCREV = "1805513bfd834f78f74c84d1ed35a3016b3bb0fd" SOMAJOR = "1" SOMINOR = "0" SOVERSION = "${SOMAJOR}.${SOMINOR}" -- cgit v1.2.3-54-g00ecf From 8542abc620bdaab0d9c6e89178dfe20baa1af10c Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Tue, 14 Nov 2023 12:46:10 +0530 Subject: Updated SRCREV of vcu-modules for 2024.1_4743 chore: align xilinx-private and master-allegro Fix compilation issue fix: xilinx implementation of add_memory refacto setup_dma reformat feat: Use the macro defined by the kernel to initialize dmabuf export informations. Move constant in al_constants.h small fixes cdev refacto Revert Revert Add support for reserved memory with start address not aligned on 2GB feat: getter/setter encode/decode Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb index 7f2b205f..585dd629 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb @@ -13,7 +13,7 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/files:" BRANCH = "master" REPO = "git://github.com/Xilinx/vcu-modules.git;protocol=https" -SRCREV = "689c8d823b383e2a8a5249be49de627f866cfaf2" +SRCREV = "51f22c517a2c58fef4f358ffaac3e159692c5ee7" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = " \ -- cgit v1.2.3-54-g00ecf From a4ccecea84cfcfd093ca58ac1caf654a315c9b57 Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Tue, 14 Nov 2023 12:47:02 +0530 Subject: Updated SRCREV of vcu-ctrl-sw for 2024.1_2275 Header File cstdin Added fix: avc lookahead buffers count chore: update to revision d20230901 fix: add missing mask chore: update to revision d20230724 Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb index fdadca3f..6922605a 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb @@ -8,7 +8,7 @@ PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', BRANCH ?= "master" REPO ?= "git://github.com/Xilinx/vcu-ctrl-sw.git;protocol=https" -SRCREV = "84b0856cad7844d69f57ac4d9447c20930875475" +SRCREV = "16a81263ea1d13e04959942d18114c8ac98836b3" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" -- cgit v1.2.3-54-g00ecf From 239f8349a3b3cd90290760155c8a5706cea18049 Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Tue, 14 Nov 2023 12:47:19 +0530 Subject: Updated SRCREV of vcu-firmware for 2024.1_3207 chore: update to revision d20230901 chore: update to revision d20230724 Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb index 4ab139fc..e62e0dcd 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb @@ -10,7 +10,7 @@ S = "${WORKDIR}/git" BRANCH ?= "master" REPO ?= "git://github.com/Xilinx/vcu-firmware.git;protocol=https" -SRCREV = "f4ab98d26aa3e244a487f518f5a76071137c8402" +SRCREV = "08e091d2a5c8332b5c9996a79c1e335d4a608f88" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" -- cgit v1.2.3-54-g00ecf From a3a3558a80f74fcee3e7055a186e93caef325fba Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Tue, 14 Nov 2023 12:47:57 +0530 Subject: Updated SRCREV of vcu-omx-il for 2024.1_2543 Current gcc requires cstdint for C types chore: update to revision d20230901 fix: add missing ToString feat(app): add device selection chore: update to revision d20230724 Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb index 80d0155e..346e1a2c 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb @@ -8,7 +8,7 @@ PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', BRANCH ?= "master" REPO ?= "git://github.com/Xilinx/vcu-omx-il.git;protocol=https" -SRCREV = "3a04b5adc661a0eced626c1373dbbfe699ae6fe0" +SRCREV = "e906a887deca1286e9744dd3c128adf11e281538" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" -- cgit v1.2.3-54-g00ecf From 6f3b7a9c8524f38ca1c67a8ae496a52a2c8574c9 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 21 Nov 2023 16:18:27 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_4899 VPSS subcores: Corrected errors in subcore drivers. v_mix: Example application correction VPSS Driver: TCL modification to fix GPIO reset parameter issue. mbox: Add dependencies for the examples cframe, cfupmc: Add compatible strings for latest pmcps versions --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 1bd68834..f703a6ab 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "8fbb3b54b39963ce38c1a55bb18d1dd12030b221" +ESW_REV[2024.1] = "44440f8794c46c2fd6be0582cc8e432eedf6be66" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From d3ace94378d9a9119b366775a26890c81d008d2c Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Wed, 22 Nov 2023 12:30:11 +0530 Subject: Updated Commit ID Kconfig.part:Update menuconfig for enabling the DT aliases hw-description.tcl: Update help for serial settings Signed-off-by: Siva Addepalli --- meta-xilinx-core/gen-machine-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf index f989df5a..588fb654 160000 --- a/meta-xilinx-core/gen-machine-conf +++ b/meta-xilinx-core/gen-machine-conf @@ -1 +1 @@ -Subproject commit f989df5aba4c7215f1e15940c1257a4c56999948 +Subproject commit 588fb65418f0201765c8d5081c177feaad44c479 -- cgit v1.2.3-54-g00ecf From 3753ce743cc73317dff7f323499cbcce5dbc0b1f Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 22 Nov 2023 12:45:49 +0530 Subject: arm-trusted-firmware : Updated SRCREV for 2024.1_1899 Merge "docs(fvp): update model version documentation" into integration Merge "fix(docs): update maintainers list" into integration fix(docs): update maintainers list docs(fvp): update model version documentation Merge "refactor(qemu): change way how we enable cpu features" into integration refactor(qemu): change way how we enable cpu features Merge changes from topic "od/hf-doc-migration" into integration Merge "docs(threat-model): cover threats inherent to receiving data over UART" into integration docs(threat-model): cover threats inherent to receiving data over UART docs(spm-mm): remove reference to SEL2 SPMC docs: remove SEL2 SPMC threat model docs: remove unused SPM related diagrams --- .../recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb index 511e0e61..690dcf3b 100644 --- a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb +++ b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb @@ -1,5 +1,5 @@ ATF_VERSION = "3.0" -SRCREV = "5e52433dd6794aa5c2186a990cb7f4dfa6f2ef01" +SRCREV = "4281d02f6e58ca1398ce81242aa54f20d394e190" BRANCH = "xlnx_rebase_v3.0" LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031" -- cgit v1.2.3-54-g00ecf From ce59a1bcdbdb7febcc01d14989cf706f61c3d6c8 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 22 Nov 2023 14:47:50 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_8751 test/py: test: Remove test cases for test command --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index ef4f8fef..d7d3aeee 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2023.01" UBRANCH = "master" -SRCREV = "0bae32f7ebf1519cab6abc3c20592f09709df130" +SRCREV = "7b0217dc71bfb4f4496ee4e8f00d2252909d01a8" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From b08181c55db7eaeaf15c3b8a539420f2e43711cf Mon Sep 17 00:00:00 2001 From: Appana Durga Kedareswara rao Date: Wed, 15 Nov 2023 17:50:13 +0530 Subject: lopper: Update srcrev for 2024.1 Below are the updates lopper: lops: Keep the status disabled nodes in the pruned tree lopper: assists: xlnx_overlay_dt: Remove amba_pl references assists:baremetal_xparameters_xlnx: Correct the string macros in xparameters openamp: xlnx: Add new module flags for role, host and remote lopper: assists: bmcmake_metadata_xlnx: Don't include IP subcores in the hw metadata openamp: xlnx: Update output file Signed-off-by: Appana Durga Kedareswara rao Signed-off-by: Mark Hatle --- .../virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend index 80337b29..bad8b8ac 100644 --- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend @@ -1,5 +1,5 @@ SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=master;protocol=https" -SRCREV = "6e065290dc1976ea78ba3418238c17b5b803afa3" +SRCREV = "c1f4c15629e4463f0c5f05f8a476b57949e20bc5" FILESEXTRAPATHS:prepend := "${THISDIR}/lopper:" -- cgit v1.2.3-54-g00ecf From 9fc4376c22c3a8ddb7ac8802cd5cf261817a4fd3 Mon Sep 17 00:00:00 2001 From: John Toomey Date: Thu, 16 Nov 2023 14:12:45 +0000 Subject: v4l2apps: Move v4l-utils and yavta to meta-xilinx Move the two v4l2apps from meta-petalinux to meta-xilinx Signed-off-by: John Toomey Signed-off-by: Mark Hatle --- ...utils-Add-support-for-new-media-bus-codes.patch | 61 ++++++++++++++++++++++ .../v4l2apps/v4l-utils_%.bbappend | 2 + ...001-Add-support-for-3-planar-YUV444P-8bpc.patch | 39 ++++++++++++++ ...-3-planar-YUV-444-10bpc-pixel-format-in-c.patch | 41 +++++++++++++++ .../recipes-multimedia/v4l2apps/yavta_%.bbappend | 5 ++ 5 files changed, 148 insertions(+) create mode 100644 meta-xilinx-core/recipes-multimedia/v4l2apps/files/0001-v4l-utils-Add-support-for-new-media-bus-codes.patch create mode 100644 meta-xilinx-core/recipes-multimedia/v4l2apps/v4l-utils_%.bbappend create mode 100644 meta-xilinx-core/recipes-multimedia/v4l2apps/yavta/0001-Add-support-for-3-planar-YUV444P-8bpc.patch create mode 100644 meta-xilinx-core/recipes-multimedia/v4l2apps/yavta/0002-Add-support-3-planar-YUV-444-10bpc-pixel-format-in-c.patch create mode 100644 meta-xilinx-core/recipes-multimedia/v4l2apps/yavta_%.bbappend diff --git a/meta-xilinx-core/recipes-multimedia/v4l2apps/files/0001-v4l-utils-Add-support-for-new-media-bus-codes.patch b/meta-xilinx-core/recipes-multimedia/v4l2apps/files/0001-v4l-utils-Add-support-for-new-media-bus-codes.patch new file mode 100644 index 00000000..fac2d719 --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/v4l2apps/files/0001-v4l-utils-Add-support-for-new-media-bus-codes.patch @@ -0,0 +1,61 @@ +From 373923a8cddb0b1854d3040a6ba0cf016a244128 Mon Sep 17 00:00:00 2001 +From: Anil Kumar M +Date: Mon, 24 Feb 2020 14:45:46 +0530 +Subject: [PATCH] v4l-utils: Add support for new media bus codes + +Add new media bus format codes for supporting xilinx +specific formats. + +Signed-off-by: Anil Kumar M +--- + include/linux/media-bus-format.h | 12 ++++++++++++ + utils/media-ctl/libv4l2subdev.c | 11 +++++++++++ + 2 files changed, 23 insertions(+) + +diff --git a/include/linux/media-bus-format.h b/include/linux/media-bus-format.h +index d6a5a3b..3fb2346 100644 +--- a/include/linux/media-bus-format.h ++++ b/include/linux/media-bus-format.h +@@ -108,6 +108,18 @@ + #define MEDIA_BUS_FMT_YUV16_1X48 0x202a + #define MEDIA_BUS_FMT_UYYVYY16_0_5X48 0x202b + ++/* YUV: Xilinx Specific - next is 0x2109 */ ++#define MEDIA_BUS_FMT_VYYUYY8_1X24 0x2100 ++#define MEDIA_BUS_FMT_VYYUYY10_4X20 0x2101 ++#define MEDIA_BUS_FMT_VUY10_1X30 0x2102 ++#define MEDIA_BUS_FMT_UYYVYY12_4X24 0x2103 ++#define MEDIA_BUS_FMT_VUY12_1X36 0x2104 ++#define MEDIA_BUS_FMT_Y16_1X16 0x2105 ++#define MEDIA_BUS_FMT_UYYVYY16_4X32 0x2106 ++#define MEDIA_BUS_FMT_VUY16_1X48 0x2107 ++#define MEDIA_BUS_FMT_UYVY16_2X32 0x2108 ++ ++ + /* Bayer - next is 0x3021 */ + #define MEDIA_BUS_FMT_SBGGR8_1X8 0x3001 + #define MEDIA_BUS_FMT_SGBRG8_1X8 0x3013 +diff --git a/utils/media-ctl/libv4l2subdev.c b/utils/media-ctl/libv4l2subdev.c +index a989efb..a37541f 100644 +--- a/utils/media-ctl/libv4l2subdev.c ++++ b/utils/media-ctl/libv4l2subdev.c +@@ -34,6 +34,17 @@ + + #include + ++/* YUV: Xilinx Specific - next is 0x2109 */ ++#define MEDIA_BUS_FMT_VYYUYY8_1X24 (0x2100) ++#define MEDIA_BUS_FMT_VYYUYY10_4X20 (0x2101) ++#define MEDIA_BUS_FMT_VUY10_1X30 (0x2102) ++#define MEDIA_BUS_FMT_UYYVYY12_4X24 (0x2103) ++#define MEDIA_BUS_FMT_VUY12_1X36 (0x2104) ++#define MEDIA_BUS_FMT_Y16_1X16 (0x2105) ++#define MEDIA_BUS_FMT_UYYVYY16_4X32 (0x2106) ++#define MEDIA_BUS_FMT_VUY16_1X48 (0x2107) ++#define MEDIA_BUS_FMT_UYVY16_2X32 (0x2108) ++ + #include "mediactl.h" + #include "mediactl-priv.h" + #include "tools.h" +-- +2.7.4 diff --git a/meta-xilinx-core/recipes-multimedia/v4l2apps/v4l-utils_%.bbappend b/meta-xilinx-core/recipes-multimedia/v4l2apps/v4l-utils_%.bbappend new file mode 100644 index 00000000..3d177bce --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/v4l2apps/v4l-utils_%.bbappend @@ -0,0 +1,2 @@ +SRC_URI:append = " file://0001-v4l-utils-Add-support-for-new-media-bus-codes.patch" +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" diff --git a/meta-xilinx-core/recipes-multimedia/v4l2apps/yavta/0001-Add-support-for-3-planar-YUV444P-8bpc.patch b/meta-xilinx-core/recipes-multimedia/v4l2apps/yavta/0001-Add-support-for-3-planar-YUV444P-8bpc.patch new file mode 100644 index 00000000..42b108fe --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/v4l2apps/yavta/0001-Add-support-for-3-planar-YUV444P-8bpc.patch @@ -0,0 +1,39 @@ +From 4d8ac36340423844be76ceb506bc0e4f48772944 Mon Sep 17 00:00:00 2001 +From: Devarsh Thakkar +Date: Tue, 7 Sep 2021 06:08:55 -0700 +Subject: [PATCH 1/2] Add support for 3 planar YUV444P 8bpc + +This patch adds support for single contiguous buffer 3 planar YUV444P +8 bpc format. + +Signed-off-by: Devarsh Thakkar +Signed-off-by: Mark Hatle +--- + include/linux/videodev2.h | 1 + + yavta.c | 1 + + 2 files changed, 2 insertions(+) + +Index: git/include/linux/videodev2.h +=================================================================== +--- git.orig/include/linux/videodev2.h ++++ git/include/linux/videodev2.h +@@ -545,6 +545,7 @@ struct v4l2_pix_format { + #define V4L2_PIX_FMT_VYUY v4l2_fourcc('V', 'Y', 'U', 'Y') /* 16 YUV 4:2:2 */ + #define V4L2_PIX_FMT_Y41P v4l2_fourcc('Y', '4', '1', 'P') /* 12 YUV 4:1:1 */ + #define V4L2_PIX_FMT_YUV444 v4l2_fourcc('Y', '4', '4', '4') /* 16 xxxxyyyy uuuuvvvv */ ++#define V4L2_PIX_FMT_YUV444P v4l2_fourcc('4', '4', '4', 'P') /* 24 YUV444 planar */ + #define V4L2_PIX_FMT_YUV555 v4l2_fourcc('Y', 'U', 'V', 'O') /* 16 YUV-5-5-5 */ + #define V4L2_PIX_FMT_YUV565 v4l2_fourcc('Y', 'U', 'V', 'P') /* 16 YUV-5-6-5 */ + #define V4L2_PIX_FMT_YUV32 v4l2_fourcc('Y', 'U', 'V', '4') /* 32 YUV-8-8-8-8 */ +Index: git/yavta.c +=================================================================== +--- git.orig/yavta.c ++++ git/yavta.c +@@ -309,6 +309,7 @@ static struct v4l2_format_info { + { "YVYU", V4L2_PIX_FMT_YVYU, 1 }, + { "NV12", V4L2_PIX_FMT_NV12, 1 }, + { "NV12M", V4L2_PIX_FMT_NV12M, 2 }, ++ { "YUV444P", V4L2_PIX_FMT_YUV444P, 1 }, + { "NV21", V4L2_PIX_FMT_NV21, 1 }, + { "NV21M", V4L2_PIX_FMT_NV21M, 2 }, + { "NV16", V4L2_PIX_FMT_NV16, 1 }, diff --git a/meta-xilinx-core/recipes-multimedia/v4l2apps/yavta/0002-Add-support-3-planar-YUV-444-10bpc-pixel-format-in-c.patch b/meta-xilinx-core/recipes-multimedia/v4l2apps/yavta/0002-Add-support-3-planar-YUV-444-10bpc-pixel-format-in-c.patch new file mode 100644 index 00000000..5dfbfa2e --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/v4l2apps/yavta/0002-Add-support-3-planar-YUV-444-10bpc-pixel-format-in-c.patch @@ -0,0 +1,41 @@ +From dedd0eb76ced425610bdd695029489f553923b2e Mon Sep 17 00:00:00 2001 +From: Rohit Visavalia +Date: Wed, 27 Oct 2021 02:45:39 -0700 +Subject: [PATCH 2/2] Add support 3 planar YUV 444 10bpc pixel format in + contiguous memory + +The new format X403 is added to support 3 planar YUV 444 10bpc +30 bits per sample image data in a single contiguous buffer. + +Signed-off-by: Rohit Visavalia +Signed-off-by: Mark Hatle +--- + include/linux/videodev2.h | 2 ++ + yavta.c | 1 + + 2 files changed, 3 insertions(+) + +Index: git/include/linux/videodev2.h +=================================================================== +--- git.orig/include/linux/videodev2.h ++++ git/include/linux/videodev2.h +@@ -585,6 +585,8 @@ struct v4l2_pix_format { + #define V4L2_PIX_FMT_YUV444M v4l2_fourcc('Y', 'M', '2', '4') /* 24 YUV444 planar */ + #define V4L2_PIX_FMT_YVU444M v4l2_fourcc('Y', 'M', '4', '2') /* 24 YVU444 planar */ + ++#define V4L2_PIX_FMT_X403 v4l2_fourcc('X', '4', '0', '3') /* 32 YUV planar 4:4:4 10-bit */ ++ + /* Bayer formats - see http://www.siliconimaging.com/RGB%20Bayer.htm */ + #define V4L2_PIX_FMT_SBGGR8 v4l2_fourcc('B', 'A', '8', '1') /* 8 BGBG.. GRGR.. */ + #define V4L2_PIX_FMT_SGBRG8 v4l2_fourcc('G', 'B', 'R', 'G') /* 8 GBGB.. RGRG.. */ +Index: git/yavta.c +=================================================================== +--- git.orig/yavta.c ++++ git/yavta.c +@@ -324,6 +324,7 @@ static struct v4l2_format_info { + { "YVU420M", V4L2_PIX_FMT_YVU420M, 3 }, + { "YVU422M", V4L2_PIX_FMT_YVU422M, 3 }, + { "YVU444M", V4L2_PIX_FMT_YVU444M, 3 }, ++ { "X403", V4L2_PIX_FMT_X403, 1 }, + { "SBGGR8", V4L2_PIX_FMT_SBGGR8, 1 }, + { "SGBRG8", V4L2_PIX_FMT_SGBRG8, 1 }, + { "SGRBG8", V4L2_PIX_FMT_SGRBG8, 1 }, diff --git a/meta-xilinx-core/recipes-multimedia/v4l2apps/yavta_%.bbappend b/meta-xilinx-core/recipes-multimedia/v4l2apps/yavta_%.bbappend new file mode 100644 index 00000000..52eab13d --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/v4l2apps/yavta_%.bbappend @@ -0,0 +1,5 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" +SRC_URI:append = " \ + file://0001-Add-support-for-3-planar-YUV444P-8bpc.patch \ + file://0002-Add-support-3-planar-YUV-444-10bpc-pixel-format-in-c.patch \ + " -- cgit v1.2.3-54-g00ecf From 7ae7c3955bd67fb5405eec09ec5b6172fdc0b9ba Mon Sep 17 00:00:00 2001 From: John Toomey Date: Thu, 16 Nov 2023 14:12:46 +0000 Subject: pulseaudio: Move pulseaudio patch to meta-xilinx Move the pulseaudio patch from meta-petalinux to meta-xilinx Signed-off-by: John Toomey Signed-off-by: Mark Hatle --- ....in-disable-tsched-system-timer-based-mod.patch | 29 ++++++++++++++++++++++ .../pulseaudio/pulseaudio_%.bbappend | 7 ++++++ 2 files changed, 36 insertions(+) create mode 100644 meta-xilinx-core/recipes-multimedia/pulseaudio/pulseaudio/0001-default.pai.in-disable-tsched-system-timer-based-mod.patch create mode 100644 meta-xilinx-core/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend diff --git a/meta-xilinx-core/recipes-multimedia/pulseaudio/pulseaudio/0001-default.pai.in-disable-tsched-system-timer-based-mod.patch b/meta-xilinx-core/recipes-multimedia/pulseaudio/pulseaudio/0001-default.pai.in-disable-tsched-system-timer-based-mod.patch new file mode 100644 index 00000000..1a89c44c --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/pulseaudio/pulseaudio/0001-default.pai.in-disable-tsched-system-timer-based-mod.patch @@ -0,0 +1,29 @@ +From 059f28d8eae7a1ef237eccbaaa7493480f83b764 Mon Sep 17 00:00:00 2001 +From: Rohit Visavalia +Date: Fri, 2 Sep 2022 01:56:47 -0700 +Subject: [PATCH] default.pai.in: disable tsched (system-timer based model) + +With tsched enabled we see clicking noise on DisplayPort for initial 5 sec +every time audio is played. Disabling the same fixes the issue. + +Signed-off-by: Rohit Visavalia +--- + src/daemon/default.pa.in | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/daemon/default.pa.in b/src/daemon/default.pa.in +index a3ddad9..37af3f2 100755 +--- a/src/daemon/default.pa.in ++++ b/src/daemon/default.pa.in +@@ -55,7 +55,7 @@ ifelse(@HAVE_MKFIFO@, 1, [dnl + ### Automatically load driver modules depending on the hardware available + ifelse(@HAVE_UDEV@, 1, [dnl + .ifexists module-udev-detect@PA_SOEXT@ +-load-module module-udev-detect ++load-module module-udev-detect tsched=0 + .else + ], @HAVE_COREAUDIO@, 1, [dnl + .ifexists module-coreaudio-detect@PA_SOEXT@ +-- +2.17.1 + diff --git a/meta-xilinx-core/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend b/meta-xilinx-core/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend new file mode 100644 index 00000000..7aae4a3a --- /dev/null +++ b/meta-xilinx-core/recipes-multimedia/pulseaudio/pulseaudio_%.bbappend @@ -0,0 +1,7 @@ +# This change appears to only affect ZynqMP configurations +# but needs to be applied generically to all aarch64 since it affects a lot of +# dependencies. +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" +SRC_URI:append = " \ + file://0001-default.pai.in-disable-tsched-system-timer-based-mod.patch \ + " -- cgit v1.2.3-54-g00ecf From 67f3300d447c53e427d709867166d3f79ea198ee Mon Sep 17 00:00:00 2001 From: John Toomey Date: Thu, 16 Nov 2023 14:12:47 +0000 Subject: libdrm: Move libdrm patches to meta-xilinx Move all libdrm patches from meta-petalinux to meta-xilinx Signed-off-by: John Toomey Signed-off-by: Mark Hatle --- ...m-Update-drm-header-file-with-XV15-and-XV.patch | 37 ++ .../0001-headers-Sync-with-HDR-from-v5.15.patch | 205 +++++++ ...d-YUV444-and-X403-format-support-for-mode.patch | 433 +++++++++++++++ ...ll-drmModeCrtcSetGamma-only-if-add_proper.patch | 32 ++ ...d-semiplanar-10bit-pattern-support-for-mo.patch | 596 +++++++++++++++++++++ ...x-smpte-colour-pattern-issue-for-XV20-and.patch | 36 ++ .../recipes-graphics/drm/libdrm_%.bbappend | 11 + 7 files changed, 1350 insertions(+) create mode 100644 meta-xilinx-core/recipes-graphics/drm/files/0001-PATCH-libdrm-Update-drm-header-file-with-XV15-and-XV.patch create mode 100644 meta-xilinx-core/recipes-graphics/drm/files/0001-headers-Sync-with-HDR-from-v5.15.patch create mode 100644 meta-xilinx-core/recipes-graphics/drm/files/0001-modetest-Add-YUV444-and-X403-format-support-for-mode.patch create mode 100644 meta-xilinx-core/recipes-graphics/drm/files/0002-modetest-call-drmModeCrtcSetGamma-only-if-add_proper.patch create mode 100644 meta-xilinx-core/recipes-graphics/drm/files/0003-modetest-Add-semiplanar-10bit-pattern-support-for-mo.patch create mode 100644 meta-xilinx-core/recipes-graphics/drm/files/0004-modetest-fix-smpte-colour-pattern-issue-for-XV20-and.patch create mode 100644 meta-xilinx-core/recipes-graphics/drm/libdrm_%.bbappend diff --git a/meta-xilinx-core/recipes-graphics/drm/files/0001-PATCH-libdrm-Update-drm-header-file-with-XV15-and-XV.patch b/meta-xilinx-core/recipes-graphics/drm/files/0001-PATCH-libdrm-Update-drm-header-file-with-XV15-and-XV.patch new file mode 100644 index 00000000..5f7df974 --- /dev/null +++ b/meta-xilinx-core/recipes-graphics/drm/files/0001-PATCH-libdrm-Update-drm-header-file-with-XV15-and-XV.patch @@ -0,0 +1,37 @@ +From 7edb14622061e87bb4810fb648017b43e767d4c6 Mon Sep 17 00:00:00 2001 +From: Sai Hari Chandana Kalluri +Date: Mon, 1 Nov 2021 12:59:36 -0700 +Subject: [PATCH 1/5] [PATCH] libdrm: Update drm header file with XV15 and XV20 + +This patch updates drm header file with YUV 420 and +YUV422 10 bit formats. + +Signed-off-by: Satish Kumar Nagireddy +Upstream-Status: Pending +Signed-off-by: Sai Hari Chandana Kalluri +--- + include/drm/drm_fourcc.h | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/include/drm/drm_fourcc.h b/include/drm/drm_fourcc.h +index ed0258c..c5cdaed 100644 +--- a/include/drm/drm_fourcc.h ++++ b/include/drm/drm_fourcc.h +@@ -318,6 +318,14 @@ extern "C" { + #define DRM_FORMAT_Q401 fourcc_code('Q', '4', '0', '1') + + /* ++ * 2 plane 10 bit per component YCbCr ++ * index 0 = Y plane, [31:0] x:Y2:Y1:Y0 2:10:10:10 little endian ++ * index 1 = Cb:Cr plane, [63:0] x:Cb2:Cr2:Cb1:x:Cr1:Cb0:Cr0 2:10:10:10:2:10:10:10 little endian ++ */ ++#define DRM_FORMAT_XV15 fourcc_code('X', 'V', '1', '5') /* 2x2 subsampled Cb:Cr plane 2:10:10:10 */ ++#define DRM_FORMAT_XV20 fourcc_code('X', 'V', '2', '0') /* 2x1 subsampled Cb:Cr plane 2:10:10:10 */ ++ ++/* + * 3 plane YCbCr + * index 0: Y plane, [7:0] Y + * index 1: Cb plane, [7:0] Cb +-- +2.7.4 + diff --git a/meta-xilinx-core/recipes-graphics/drm/files/0001-headers-Sync-with-HDR-from-v5.15.patch b/meta-xilinx-core/recipes-graphics/drm/files/0001-headers-Sync-with-HDR-from-v5.15.patch new file mode 100644 index 00000000..02916658 --- /dev/null +++ b/meta-xilinx-core/recipes-graphics/drm/files/0001-headers-Sync-with-HDR-from-v5.15.patch @@ -0,0 +1,205 @@ +From d159e3f782d33988e52db462948e2e0eab2b9a03 Mon Sep 17 00:00:00 2001 +From: Rohit Visavalia +Date: Thu, 17 Mar 2022 08:21:41 -0700 +Subject: [PATCH] headers: Sync with HDR from v5.15 + +Sync drm_mode.h with linux-xlnx/include/uapi/drm/drm_mode.h for HDR + +Signed-off-by: Rohit Visavalia +--- + include/drm/drm_mode.h | 129 +++++++++++++++++++++++++++++++++++++++-- + 1 file changed, 125 insertions(+), 4 deletions(-) + +diff --git a/include/drm/drm_mode.h b/include/drm/drm_mode.h +index 9b6722d..bbce882 100644 +--- a/include/drm/drm_mode.h ++++ b/include/drm/drm_mode.h +@@ -312,16 +312,48 @@ struct drm_mode_set_plane { + __u32 src_w; + }; + ++/** ++ * struct drm_mode_get_plane - Get plane metadata. ++ * ++ * Userspace can perform a GETPLANE ioctl to retrieve information about a ++ * plane. ++ * ++ * To retrieve the number of formats supported, set @count_format_types to zero ++ * and call the ioctl. @count_format_types will be updated with the value. ++ * ++ * To retrieve these formats, allocate an array with the memory needed to store ++ * @count_format_types formats. Point @format_type_ptr to this array and call ++ * the ioctl again (with @count_format_types still set to the value returned in ++ * the first ioctl call). ++ */ + struct drm_mode_get_plane { ++ /** ++ * @plane_id: Object ID of the plane whose information should be ++ * retrieved. Set by caller. ++ */ + __u32 plane_id; + ++ /** @crtc_id: Object ID of the current CRTC. */ + __u32 crtc_id; ++ /** @fb_id: Object ID of the current fb. */ + __u32 fb_id; + ++ /** ++ * @possible_crtcs: Bitmask of CRTC's compatible with the plane. CRTC's ++ * are created and they receive an index, which corresponds to their ++ * position in the bitmask. Bit N corresponds to ++ * :ref:`CRTC index` N. ++ */ + __u32 possible_crtcs; ++ /** @gamma_size: Never used. */ + __u32 gamma_size; + ++ /** @count_format_types: Number of formats. */ + __u32 count_format_types; ++ /** ++ * @format_type_ptr: Pointer to ``__u32`` array of formats that are ++ * supported by the plane. These formats do not require modifiers. ++ */ + __u64 format_type_ptr; + }; + +@@ -509,22 +541,74 @@ struct drm_mode_get_connector { + */ + #define DRM_MODE_PROP_ATOMIC 0x80000000 + ++/** ++ * struct drm_mode_property_enum - Description for an enum/bitfield entry. ++ * @value: numeric value for this enum entry. ++ * @name: symbolic name for this enum entry. ++ * ++ * See struct drm_property_enum for details. ++ */ + struct drm_mode_property_enum { + __u64 value; + char name[DRM_PROP_NAME_LEN]; + }; + ++/** ++ * struct drm_mode_get_property - Get property metadata. ++ * ++ * User-space can perform a GETPROPERTY ioctl to retrieve information about a ++ * property. The same property may be attached to multiple objects, see ++ * "Modeset Base Object Abstraction". ++ * ++ * The meaning of the @values_ptr field changes depending on the property type. ++ * See &drm_property.flags for more details. ++ * ++ * The @enum_blob_ptr and @count_enum_blobs fields are only meaningful when the ++ * property has the type &DRM_MODE_PROP_ENUM or &DRM_MODE_PROP_BITMASK. For ++ * backwards compatibility, the kernel will always set @count_enum_blobs to ++ * zero when the property has the type &DRM_MODE_PROP_BLOB. User-space must ++ * ignore these two fields if the property has a different type. ++ * ++ * User-space is expected to retrieve values and enums by performing this ioctl ++ * at least twice: the first time to retrieve the number of elements, the ++ * second time to retrieve the elements themselves. ++ * ++ * To retrieve the number of elements, set @count_values and @count_enum_blobs ++ * to zero, then call the ioctl. @count_values will be updated with the number ++ * of elements. If the property has the type &DRM_MODE_PROP_ENUM or ++ * &DRM_MODE_PROP_BITMASK, @count_enum_blobs will be updated as well. ++ * ++ * To retrieve the elements themselves, allocate an array for @values_ptr and ++ * set @count_values to its capacity. If the property has the type ++ * &DRM_MODE_PROP_ENUM or &DRM_MODE_PROP_BITMASK, allocate an array for ++ * @enum_blob_ptr and set @count_enum_blobs to its capacity. Calling the ioctl ++ * again will fill the arrays. ++ */ + struct drm_mode_get_property { +- __u64 values_ptr; /* values and blob lengths */ +- __u64 enum_blob_ptr; /* enum and blob id ptrs */ ++ /** @values_ptr: Pointer to a ``__u64`` array. */ ++ __u64 values_ptr; ++ /** @enum_blob_ptr: Pointer to a struct drm_mode_property_enum array. */ ++ __u64 enum_blob_ptr; + ++ /** ++ * @prop_id: Object ID of the property which should be retrieved. Set ++ * by the caller. ++ */ + __u32 prop_id; ++ /** ++ * @flags: ``DRM_MODE_PROP_*`` bitfield. See &drm_property.flags for ++ * a definition of the flags. ++ */ + __u32 flags; ++ /** ++ * @name: Symbolic property name. User-space should use this field to ++ * recognize properties. ++ */ + char name[DRM_PROP_NAME_LEN]; + ++ /** @count_values: Number of elements in @values_ptr. */ + __u32 count_values; +- /* This is only used to count enum values, not blobs. The _blobs is +- * simply because of a historical reason, i.e. backwards compat. */ ++ /** @count_enum_blobs: Number of elements in @enum_blob_ptr. */ + __u32 count_enum_blobs; + }; + +@@ -578,6 +662,8 @@ struct drm_mode_fb_cmd { + + #define DRM_MODE_FB_INTERLACED (1<<0) /* for interlaced framebuffers */ + #define DRM_MODE_FB_MODIFIERS (1<<1) /* enables ->modifer[] */ ++#define DRM_MODE_FB_ALTERNATE_TOP (1<<2) /* for alternate top field */ ++#define DRM_MODE_FB_ALTERNATE_BOTTOM (1<<3) /* for alternate bottom field */ + + struct drm_mode_fb_cmd2 { + __u32 fb_id; +@@ -733,6 +819,20 @@ struct drm_color_lut { + __u16 reserved; + }; + ++enum drm_hdr_type { ++ /* ++ * This is for the gen_hdr_output_metadata structure. ++ * MSB differentiates static (0) or dynamic (1) metadata. ++ * Other 15 bits represent specific HDR standards. ++ */ ++ ++ /* static HDR */ ++ DRM_HDR_TYPE_HDR10 = 0x0000, ++ ++ /* dynamic HDR */ ++ DRM_HDR_TYPE_HDR10P = 1 << 15 | DRM_HDR_TYPE_HDR10, ++}; ++ + /** + * struct hdr_metadata_infoframe - HDR Metadata Infoframe Data. + * +@@ -819,6 +919,27 @@ struct hdr_output_metadata { + }; + }; + ++/** ++ * struct gen_hdr_output_metadata - Generic HDR output metadata ++ * ++ * Generic HDR Metadata Information to be passed from userspace ++ */ ++struct gen_hdr_output_metadata { ++ /** ++ * @metadata_type: HDR type. ++ */ ++ __u16 metadata_type; ++ /** ++ * @size: size of payload/metadata. ++ */ ++ __u16 size; ++ /** ++ * @payload: Actual metadata - HDR Metadata Infoframe. ++ * Currently the largest extended HDR infoframe is 4000 bytes. ++ */ ++ __u8 payload[4000]; ++}; ++ + #define DRM_MODE_PAGE_FLIP_EVENT 0x01 + #define DRM_MODE_PAGE_FLIP_ASYNC 0x02 + #define DRM_MODE_PAGE_FLIP_TARGET_ABSOLUTE 0x4 +-- +2.17.1 + diff --git a/meta-xilinx-core/recipes-graphics/drm/files/0001-modetest-Add-YUV444-and-X403-format-support-for-mode.patch b/meta-xilinx-core/recipes-graphics/drm/files/0001-modetest-Add-YUV444-and-X403-format-support-for-mode.patch new file mode 100644 index 00000000..6e546fb0 --- /dev/null +++ b/meta-xilinx-core/recipes-graphics/drm/files/0001-modetest-Add-YUV444-and-X403-format-support-for-mode.patch @@ -0,0 +1,433 @@ +From de3fffbf7af9d28b5f9d9e118de448a54e2628dd Mon Sep 17 00:00:00 2001 +From: Anil Kumar Mamidala +Date: Wed, 27 Oct 2021 16:04:47 +0530 +Subject: [PATCH] modetest: Add YUV444 and X403 format support for modetest + +Add YUV44 8-bit and X403 10-bit formats support to modetest +for generating color bar pattern. + +Signed-off-by: Anil Kumar Mamidala +--- + include/drm/drm_fourcc.h | 7 + + tests/modetest/buffers.c | 32 +++++ + tests/util/format.c | 4 + + tests/util/pattern.c | 270 +++++++++++++++++++++++++++++++++++++++ + 4 files changed, 313 insertions(+) + +diff --git a/include/drm/drm_fourcc.h b/include/drm/drm_fourcc.h +index 32966bd..b93778c 100644 +--- a/include/drm/drm_fourcc.h ++++ b/include/drm/drm_fourcc.h +@@ -352,6 +352,13 @@ extern "C" { + #define DRM_FORMAT_YUV444 fourcc_code('Y', 'U', '2', '4') /* non-subsampled Cb (1) and Cr (2) planes */ + #define DRM_FORMAT_YVU444 fourcc_code('Y', 'V', '2', '4') /* non-subsampled Cr (1) and Cb (2) planes */ + ++/* 3 plane non-subsampled (444) YCbCr ++ * 10 bits per component ++ * index 0: Y plane, [31:0] x:Y2:Y1:Y0 [2:10:10:10] little endian ++ * index 1: Cb plane, [31:0] x:Cb2:Cb1:Cb0 [2:10:10:10] little endian ++ * index 2: Cr plane, [31:0] x:Cr2:Cr1:Cr0 [2:10:10:10] little endian ++ */ ++#define DRM_FORMAT_X403 fourcc_code('X', '4', '0', '3') /* non-subsampled Cb:Cr plane, 10 bit per channel */ + + /* + * Format Modifiers: +diff --git a/tests/modetest/buffers.c b/tests/modetest/buffers.c +index 4c15ec8..0529978 100644 +--- a/tests/modetest/buffers.c ++++ b/tests/modetest/buffers.c +@@ -142,11 +142,13 @@ bo_create(int fd, unsigned int format, + case DRM_FORMAT_NV61: + case DRM_FORMAT_YUV420: + case DRM_FORMAT_YVU420: ++ case DRM_FORMAT_YUV444: + bpp = 8; + break; + + case DRM_FORMAT_XV15: + case DRM_FORMAT_XV20: ++ case DRM_FORMAT_X403: + bpp = 10; + break; + +@@ -230,12 +232,24 @@ bo_create(int fd, unsigned int format, + virtual_height = height * 2; + break; + ++ case DRM_FORMAT_X403: ++ virtual_width = (width * 32) / 30; ++ virtual_height = height * 3; ++ break; ++ ++ + case DRM_FORMAT_NV16: + case DRM_FORMAT_NV61: + virtual_width = width; + virtual_height = height * 2; + break; + ++ case DRM_FORMAT_YUV444: ++ virtual_width = width; ++ virtual_height = height * 3; ++ break; ++ ++ + default: + virtual_width = width; + virtual_height = height; +@@ -286,6 +300,24 @@ bo_create(int fd, unsigned int format, + planes[1] = virtual + offsets[1]; + break; + ++ case DRM_FORMAT_X403: ++ case DRM_FORMAT_YUV444: ++ offsets[0] = 0; ++ handles[0] = bo->handle; ++ pitches[0] = bo->pitch; ++ pitches[1] = pitches[0]; ++ offsets[1] = pitches[0] * height; ++ handles[1] = bo->handle; ++ pitches[2] = pitches[1]; ++ offsets[2] = offsets[1] + pitches[1] * height; ++ handles[2] = bo->handle; ++ ++ ++ planes[0] = virtual; ++ planes[1] = virtual + offsets[1]; ++ planes[2] = virtual + offsets[2]; ++ break; ++ + case DRM_FORMAT_YUV420: + case DRM_FORMAT_YVU420: + offsets[0] = 0; +diff --git a/tests/util/format.c b/tests/util/format.c +index e4b612b..ba7267f 100644 +--- a/tests/util/format.c ++++ b/tests/util/format.c +@@ -57,6 +57,10 @@ static const struct util_format_info format_info[] = { + /* YUV planar */ + { DRM_FORMAT_YUV420, "YU12", MAKE_YUV_INFO(YUV_YCbCr, 2, 2, 1) }, + { DRM_FORMAT_YVU420, "YV12", MAKE_YUV_INFO(YUV_YCrCb, 2, 2, 1) }, ++ { DRM_FORMAT_YUV444, "YU24", MAKE_YUV_INFO(YUV_YCbCr, 1, 1, 1) }, ++ { DRM_FORMAT_YVU444, "YV24", MAKE_YUV_INFO(YUV_YCrCb, 1, 1, 1) }, ++ { DRM_FORMAT_X403, "X403", MAKE_YUV_INFO(YUV_YCbCr, 1, 1, 1) }, ++ + /* RGB16 */ + { DRM_FORMAT_ARGB4444, "AR12", MAKE_RGB_INFO(4, 8, 4, 4, 4, 0, 4, 12) }, + { DRM_FORMAT_XRGB4444, "XR12", MAKE_RGB_INFO(4, 8, 4, 4, 4, 0, 0, 0) }, +diff --git a/tests/util/pattern.c b/tests/util/pattern.c +index 0fe2e5f..83049eb 100644 +--- a/tests/util/pattern.c ++++ b/tests/util/pattern.c +@@ -426,6 +426,175 @@ static void fill_smpte_yuv_semiplanar_10b( + } + } + ++static void fill_smpte_yuv_planar_x403( ++ const struct util_yuv_info *yuv, ++ unsigned char *y_mem, unsigned char *u_mem, ++ unsigned char *v_mem, ++ unsigned int width, ++ unsigned int height, unsigned int stride) ++{ ++ const struct color_yuv colors_top[] = { ++ MAKE_YUV_601(191, 192, 192), /* grey */ ++ MAKE_YUV_601(192, 192, 0), /* yellow */ ++ MAKE_YUV_601(0, 192, 192), /* cyan */ ++ MAKE_YUV_601(0, 192, 0), /* green */ ++ MAKE_YUV_601(192, 0, 192), /* magenta */ ++ MAKE_YUV_601(192, 0, 0), /* red */ ++ MAKE_YUV_601(0, 0, 192), /* blue */ ++ }; ++ const struct color_yuv colors_middle[] = { ++ MAKE_YUV_601(0, 0, 192), /* blue */ ++ MAKE_YUV_601(19, 19, 19), /* black */ ++ MAKE_YUV_601(192, 0, 192), /* magenta */ ++ MAKE_YUV_601(19, 19, 19), /* black */ ++ MAKE_YUV_601(0, 192, 192), /* cyan */ ++ MAKE_YUV_601(19, 19, 19), /* black */ ++ MAKE_YUV_601(192, 192, 192), /* grey */ ++ }; ++ const struct color_yuv colors_bottom[] = { ++ MAKE_YUV_601(0, 33, 76), /* in-phase */ ++ MAKE_YUV_601(255, 255, 255), /* super white */ ++ MAKE_YUV_601(50, 0, 106), /* quadrature */ ++ MAKE_YUV_601(19, 19, 19), /* black */ ++ MAKE_YUV_601(9, 9, 9), /* 3.5% */ ++ MAKE_YUV_601(19, 19, 19), /* 7.5% */ ++ MAKE_YUV_601(29, 29, 29), /* 11.5% */ ++ MAKE_YUV_601(19, 19, 19), /* black */ ++ }; ++ unsigned int cs = yuv->chroma_stride; ++ unsigned int xsub = yuv->xsub; ++ unsigned int ysub = yuv->ysub; ++ unsigned int x; ++ unsigned int y; ++ unsigned int cval = 0; ++ ++ for (y = 0; y < height * 6 / 9; ++y) { ++ for (x = 0; x < width; x += 3) ++ ((unsigned int *)y_mem)[x/3] = ++ colors_top[x * 7 / width].y << 2 | ++ colors_top[(x+1) * 7 / width].y << 12 | ++ colors_top[(x+2) * 7 / width].y << 22; ++ y_mem += stride; ++ } ++ ++ for (; y < height * 7 / 9; ++y) { ++ for (x = 0; x < width; x += 3) ++ ((unsigned int *)y_mem)[x/3] = ++ colors_middle[x * 7 / width].y << 2 | ++ colors_middle[(x+1) * 7 / width].y << 12 | ++ colors_middle[(x+2) * 7 / width].y << 22; ++ y_mem += stride; ++ } ++ ++ for (; y < height; ++y) { ++ for (x = 0; x < width * 5 / 7; x += 3) ++ ((unsigned int *)y_mem)[x/3] = ++ colors_bottom[x * 4 / (width * 5 / 7)].y << 2 | ++ colors_bottom[(x + 1) * 4 / (width * 5 / 7)] ++ .y << 12 | colors_bottom[(x + 2) * 4 / ++ (width * 5 / 7)].y << 22; ++ ++ for (; x < width * 6 / 7; x += 3) ++ ((unsigned int *)y_mem)[x/3] = ++ colors_bottom[(x - width * 5 / 7) * 3 / ++ (width / 7) + 4].y << 2 | ++ colors_bottom[((x + 1) - width * 5 / 7) * 3 / ++ (width / 7) + 4].y << 12 | ++ colors_bottom[((x + 2) - width * 5 / 7) * 3 / ++ (width / 7) + 4].y << 22; ++ ++ for (; x < width; x += 3) ++ ((unsigned int *)y_mem)[x/3] = colors_bottom[7].y << 2 | ++ colors_bottom[7].y << 12 | ++ colors_bottom[7].y << 22; ++ y_mem += stride; ++ } ++ ++ /* Chroma */ ++ unsigned int *cb_mem = (unsigned int *)u_mem; ++ unsigned int *cr_mem = (unsigned int *)v_mem; ++ ++ for (y = 0; y < height / ysub * 6 / 9; ++y) { ++ for (x = 0; x < width; x += 3) { ++ cval = (colors_top[x * 7 / width].u << 2) | ++ (colors_top[(x + 1) * 7 / width].u << 12) | ++ (colors_top[(x + 2) * 7 / width].u << 22); ++ cb_mem[x/3] = cval; ++ cval = (colors_top[(x) * 7 / width].v << 2) | ++ (colors_top[(x + 1) * 7 / width].v << 12) | ++ (colors_top[(x + 2) * 7 / width].v << 22); ++ cr_mem[x/3] = cval; ++ } ++ cb_mem += stride/4; ++ cr_mem += stride/4; ++ } ++ ++ for (; y < height / ysub * 7 / 9; ++y) { ++ for (x = 0; x < width; x += 3) { ++ cval = (colors_middle[x * 7 / width].u << 2) | ++ (colors_middle[(x + 1) * 7 / width].u << 12) | ++ (colors_middle[(x + 2) * 7 / width].u << 22); ++ cb_mem[x/3] = cval; ++ cval = (colors_middle[x * 7 / width].v << 2) | ++ (colors_middle[(x + 1) * 7 / width].v << 12) | ++ (colors_middle[(x + 2) * 7 / width].v << 22); ++ cr_mem[x/3] = cval; ++ } ++ cb_mem += stride/4; ++ cr_mem += stride/4; ++ } ++ ++ for (; y < height / ysub; ++y) { ++ for (x = 0; x < width * 5 / 7; x += 3) { ++ cval = colors_bottom[x * 4 / ++ (width * 5 / 7)].u << 2 | ++ colors_bottom[(x + 2) * 4 / ++ (width * 5 / 7)].u << 12 | ++ colors_bottom[(x + 4) * 4 / ++ (width * 5 / 7)]. u << 22; ++ cb_mem[x/3] = cval; ++ ++ cval = colors_bottom[(x) * 4 / ++ (width * 5 / 7)].v << 2 | ++ colors_bottom[(x + 2) * 4 / ++ (width * 5 / 7)].v << 12 | ++ colors_bottom[(x + 4) * 4 / ++ (width * 5 / 7)].v << 22; ++ ++ cr_mem[x/3] = cval; ++ } ++ for (; x < width * 6 / 7; x += 3) { ++ cval = colors_bottom[(x - width * 5 / 7) * 3 / ++ (width / 7) + 4].u << 2 | ++ colors_bottom[((x + 2)- width * 5 / 7) * 3 / ++ (width / 7) + 4].u << 12 | ++ colors_bottom[((x + 4) - width * 5 / 7) * 3 / ++ (width / 7) + 4].u << 22; ++ cb_mem[x/3] = cval; ++ ++ cval = colors_bottom[((x) - width * 5 / 7) * 3 / ++ (width / 7) + 4].v << 2 | ++ colors_bottom[((x + 2) - width * 5 / 7) * 3 / ++ (width / 7) + 4].v << 12 | ++ colors_bottom[((x + 4) - width * 5 / 7) * 3 / ++ (width / 7) + 4].v << 22; ++ cr_mem[x/3] = cval; ++ } ++ for (; x < width; x += 3) { ++ cval = colors_bottom[7].u << 2 | ++ colors_bottom[7].u << 12 | ++ colors_bottom[7].u << 22; ++ cb_mem[x/3] = cval; ++ cval = colors_bottom[7].v << 2 | ++ colors_bottom[7].v << 12 | ++ colors_bottom[7].v << 22; ++ cr_mem[x/3] = cval; ++ } ++ cb_mem += stride/4; ++ cr_mem += stride/4; ++ } ++} ++ + static void fill_smpte_yuv_planar_10b( + const struct util_yuv_info *yuv, + unsigned char *y_mem, unsigned char *u_mem, +@@ -686,6 +855,88 @@ static void fill_tiles_xv20( + } + } + ++static void fill_tiles_x403( ++ const struct util_format_info *info, ++ unsigned char *y_mem, unsigned char *u_mem, ++ unsigned char *v_mem, uint32_t width, ++ uint32_t height, uint32_t stride) ++{ ++ const struct util_yuv_info *yuv = &info->yuv; ++ unsigned int cs = yuv->chroma_stride; ++ unsigned int x; ++ unsigned int y; ++ uint32_t shifter = 0, LumVal = 0; ++ uint32_t lumIndex = 0; ++ uint32_t *Lum; ++ uint32_t *uChrom; ++ uint32_t *vChrom; ++ uint32_t ChromVal = 0; ++ uint32_t uchromIndex = 0; ++ uint32_t vchromIndex = 0; ++ ++ /* preparing 10 bit Luma */ ++ Lum = (uint32_t *)y_mem; ++ for (y = 0; y < height; ++y) { ++ for (x = 0; x < width; x++) { ++ div_t d = div(x+y, width); ++ uint32_t rgb32 = 0x00130502 * (d.quot >> 6) ++ + 0x000a1120 * (d.rem >> 6); ++ struct color_yuv color = ++ MAKE_YUV_601((rgb32 >> 16) & 0xff, ++ (rgb32 >> 8) & 0xff, rgb32 & 0xff); ++ //Checking if we got 3 components to pack in 4 bytes ++ if (shifter == 30) { ++ Lum[lumIndex] = LumVal; ++ lumIndex++; shifter = 0; LumVal = 0; ++ } ++ LumVal = (LumVal | ((color.y << 2) << shifter)); ++ shifter += 10; //10 bit precision ++ } ++ lumIndex = 0; shifter = 0; LumVal = 0; ++ y_mem += stride; ++ Lum = (uint32_t *)y_mem; ++ } ++ ++ /* Preparing 10 bit Chroma */ ++ uChrom = (uint32_t *)u_mem; ++ vChrom = (uint32_t *)v_mem; ++ ++ for (y = 0; y < height; ++y) { ++ for (x = 0; x < width; x = x + 3) { ++ div_t d = div(x+y, width); ++ uint32_t rgb32 = 0x00130502 * (d.quot >> 6) ++ + 0x000a1120 * (d.rem >> 6); ++ struct color_yuv color = ++ MAKE_YUV_601((rgb32 >> 16) & 0xff, ++ (rgb32 >> 8) & 0xff, rgb32 & 0xff); ++ uint32_t rgb32_2 = 0x00130502 * (d.quot >> 6) ++ + 0x000a1120 * (d.rem >> 6); ++ struct color_yuv color_2 = ++ MAKE_YUV_601((rgb32_2 >> 16) & 0xff, ++ (rgb32_2 >> 8) & 0xff, rgb32_2 & 0xff); ++ uint32_t rgb32_3 = 0x00130502 * (d.quot >> 6) ++ + 0x000a1120 * (d.rem >> 6); ++ struct color_yuv color_3 = ++ MAKE_YUV_601((rgb32_3 >> 16) & 0xff, ++ (rgb32_3 >> 8) & 0xff, rgb32_3 & 0xff); ++ ++ ChromVal = ((color.u << 2) << 20) ++ | ((color_2.u << 2) << 10) | (color_3.u << 2); ++ uChrom[uchromIndex++] = ChromVal; ++ ++ ChromVal = ((color.v << 2) << 20) ++ | ((color_2.v << 2) << 10) | (color_3.v << 2); ++ vChrom[vchromIndex++] = ChromVal; ++ } ++ uchromIndex = 0; vchromIndex = 0; ChromVal = 0; ++ u_mem += stride; ++ v_mem += stride; ++ uChrom = (uint32_t *)u_mem; ++ vChrom = (uint32_t *)v_mem; ++ } ++} ++ ++ + static void fill_smpte_yuv_packed(const struct util_yuv_info *yuv, void *mem, + unsigned int width, unsigned int height, + unsigned int stride) +@@ -1135,10 +1386,19 @@ static void fill_smpte(const struct util_format_info *info, + return fill_smpte_yuv_planar(&info->yuv, planes[0], u, v, + width, height, stride); + ++ case DRM_FORMAT_X403: ++ return fill_smpte_yuv_planar_x403(&info->yuv, planes[0], planes[1], ++ planes[2], width, height, stride); ++ ++ + case DRM_FORMAT_YUV420: + return fill_smpte_yuv_planar(&info->yuv, planes[0], planes[1], + planes[2], width, height, stride); + ++ case DRM_FORMAT_YUV444: ++ return fill_smpte_yuv_planar(&info->yuv, planes[0], planes[1], ++ planes[2], width, height, stride); ++ + case DRM_FORMAT_YVU420: + return fill_smpte_yuv_planar(&info->yuv, planes[0], planes[2], + planes[1], width, height, stride); +@@ -1465,6 +1725,11 @@ static void fill_tiles(const struct util_format_info *info, + return fill_tiles_yuv_planar(info, planes[0], planes[1], + planes[2], width, height, stride); + ++ case DRM_FORMAT_YUV444: ++ return fill_tiles_yuv_planar(info, planes[0], planes[1], ++ planes[2], width, height, stride); ++ ++ + case DRM_FORMAT_YVU420: + return fill_tiles_yuv_planar(info, planes[0], planes[2], + planes[1], width, height, stride); +@@ -1473,6 +1738,11 @@ static void fill_tiles(const struct util_format_info *info, + return fill_tiles_xv20(info, planes[0], planes[1], + planes[1], width, height, stride); + ++ case DRM_FORMAT_X403: ++ return fill_tiles_x403(info, planes[0], planes[1], ++ planes[2], width, height, stride); ++ ++ + case DRM_FORMAT_XV15: + return fill_tiles_xv15(info, planes[0], planes[1], + planes[2], width, height, stride); +-- +2.17.1 + diff --git a/meta-xilinx-core/recipes-graphics/drm/files/0002-modetest-call-drmModeCrtcSetGamma-only-if-add_proper.patch b/meta-xilinx-core/recipes-graphics/drm/files/0002-modetest-call-drmModeCrtcSetGamma-only-if-add_proper.patch new file mode 100644 index 00000000..9d2eff7d --- /dev/null +++ b/meta-xilinx-core/recipes-graphics/drm/files/0002-modetest-call-drmModeCrtcSetGamma-only-if-add_proper.patch @@ -0,0 +1,32 @@ +From ab7aa7563e3b044f84f123f0ed59b370ff0af3f5 Mon Sep 17 00:00:00 2001 +From: Rohit Visavalia +Date: Mon, 24 Feb 2020 03:35:58 -0800 +Subject: [PATCH 2/5] modetest: call drmModeCrtcSetGamma() only if + add_property_optional returns true + +gamma is a optional property then also it prints error message, so +set gamma only if add_property_optional() returns true. + +Upstream-Status: Pending + +Signed-off-by: Rohit Visavalia +--- + tests/modetest/modetest.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/tests/modetest/modetest.c b/tests/modetest/modetest.c +index 2c83bd0..3e73505 100644 +--- a/tests/modetest/modetest.c ++++ b/tests/modetest/modetest.c +@@ -1142,7 +1142,7 @@ static void set_gamma(struct device *dev, unsigned crtc_id, unsigned fourcc) + + add_property_optional(dev, crtc_id, "DEGAMMA_LUT", 0); + add_property_optional(dev, crtc_id, "CTM", 0); +- if (!add_property_optional(dev, crtc_id, "GAMMA_LUT", blob_id)) { ++ if (add_property_optional(dev, crtc_id, "GAMMA_LUT", blob_id)) { + uint16_t r[256], g[256], b[256]; + + for (i = 0; i < 256; i++) { +-- +2.7.4 + diff --git a/meta-xilinx-core/recipes-graphics/drm/files/0003-modetest-Add-semiplanar-10bit-pattern-support-for-mo.patch b/meta-xilinx-core/recipes-graphics/drm/files/0003-modetest-Add-semiplanar-10bit-pattern-support-for-mo.patch new file mode 100644 index 00000000..815962e0 --- /dev/null +++ b/meta-xilinx-core/recipes-graphics/drm/files/0003-modetest-Add-semiplanar-10bit-pattern-support-for-mo.patch @@ -0,0 +1,596 @@ +From adc82a4820253ed3f42bf3af9003aa33636e6f89 Mon Sep 17 00:00:00 2001 +From: Anil Kumar M +Date: Fri, 10 Apr 2020 21:35:47 +0530 +Subject: [PATCH 3/5] modetest: Add semiplanar 10bit pattern support for + modetest + +Add XV15 and XV20 10 bit semiplanar formats support for +generating color bar pattern while running modetest command. + +Signed-off-by: Anil Kumar M +--- + tests/modetest/buffers.c | 24 ++- + tests/util/format.c | 3 + + tests/util/pattern.c | 455 ++++++++++++++++++++++++++++++++++++++++++++++- + 3 files changed, 473 insertions(+), 9 deletions(-) + +diff --git a/tests/modetest/buffers.c b/tests/modetest/buffers.c +index 8a8d9e0..4c15ec8 100644 +--- a/tests/modetest/buffers.c ++++ b/tests/modetest/buffers.c +@@ -127,7 +127,7 @@ bo_create(int fd, unsigned int format, + unsigned int handles[4], unsigned int pitches[4], + unsigned int offsets[4], enum util_fill_pattern pattern) + { +- unsigned int virtual_height; ++ unsigned int virtual_height, virtual_width; + struct bo *bo; + unsigned int bpp; + void *planes[3] = { 0, }; +@@ -145,6 +145,11 @@ bo_create(int fd, unsigned int format, + bpp = 8; + break; + ++ case DRM_FORMAT_XV15: ++ case DRM_FORMAT_XV20: ++ bpp = 10; ++ break; ++ + case DRM_FORMAT_ARGB4444: + case DRM_FORMAT_XRGB4444: + case DRM_FORMAT_ABGR4444: +@@ -211,20 +216,33 @@ bo_create(int fd, unsigned int format, + case DRM_FORMAT_NV21: + case DRM_FORMAT_YUV420: + case DRM_FORMAT_YVU420: ++ virtual_width = width; ++ virtual_height = height * 3 / 2; ++ break; ++ ++ case DRM_FORMAT_XV15: ++ virtual_width = (width * 32) / 30; + virtual_height = height * 3 / 2; + break; + ++ case DRM_FORMAT_XV20: ++ virtual_width = (width * 32) / 30; ++ virtual_height = height * 2; ++ break; ++ + case DRM_FORMAT_NV16: + case DRM_FORMAT_NV61: ++ virtual_width = width; + virtual_height = height * 2; + break; + + default: ++ virtual_width = width; + virtual_height = height; + break; + } + +- bo = bo_create_dumb(fd, width, virtual_height, bpp); ++ bo = bo_create_dumb(fd, virtual_width, virtual_height, bpp); + if (!bo) + return NULL; + +@@ -255,6 +273,8 @@ bo_create(int fd, unsigned int format, + case DRM_FORMAT_NV21: + case DRM_FORMAT_NV16: + case DRM_FORMAT_NV61: ++ case DRM_FORMAT_XV15: ++ case DRM_FORMAT_XV20: + offsets[0] = 0; + handles[0] = bo->handle; + pitches[0] = bo->pitch; +diff --git a/tests/util/format.c b/tests/util/format.c +index 1ca1b82..e4b612b 100644 +--- a/tests/util/format.c ++++ b/tests/util/format.c +@@ -51,6 +51,9 @@ static const struct util_format_info format_info[] = { + { DRM_FORMAT_NV21, "NV21", MAKE_YUV_INFO(YUV_YCrCb, 2, 2, 2) }, + { DRM_FORMAT_NV16, "NV16", MAKE_YUV_INFO(YUV_YCbCr, 2, 1, 2) }, + { DRM_FORMAT_NV61, "NV61", MAKE_YUV_INFO(YUV_YCrCb, 2, 1, 2) }, ++ { DRM_FORMAT_XV15, "XV15", MAKE_YUV_INFO(YUV_YCbCr, 2, 2, 2) }, ++ { DRM_FORMAT_XV20, "XV20", MAKE_YUV_INFO(YUV_YCbCr, 2, 1, 2) }, ++ + /* YUV planar */ + { DRM_FORMAT_YUV420, "YU12", MAKE_YUV_INFO(YUV_YCbCr, 2, 2, 1) }, + { DRM_FORMAT_YVU420, "YV12", MAKE_YUV_INFO(YUV_YCrCb, 2, 2, 1) }, +diff --git a/tests/util/pattern.c b/tests/util/pattern.c +index 158c0b1..e29d160 100644 +--- a/tests/util/pattern.c ++++ b/tests/util/pattern.c +@@ -260,6 +260,432 @@ static void fill_smpte_yuv_planar(const struct util_yuv_info *yuv, + } + } + ++static void fill_smpte_yuv_semiplanar_10b( ++ const struct util_yuv_info *yuv, ++ unsigned char *y_mem, unsigned char *uv_mem, ++ unsigned int width, ++ unsigned int height, unsigned int stride) ++{ ++ const struct color_yuv colors_top[] = { ++ MAKE_YUV_601(191, 192, 192), /* grey */ ++ MAKE_YUV_601(192, 192, 0), /* yellow */ ++ MAKE_YUV_601(0, 192, 192), /* cyan */ ++ MAKE_YUV_601(0, 192, 0), /* green */ ++ MAKE_YUV_601(192, 0, 192), /* magenta */ ++ MAKE_YUV_601(192, 0, 0), /* red */ ++ MAKE_YUV_601(0, 0, 192), /* blue */ ++ }; ++ const struct color_yuv colors_middle[] = { ++ MAKE_YUV_601(0, 0, 192), /* blue */ ++ MAKE_YUV_601(19, 19, 19), /* black */ ++ MAKE_YUV_601(192, 0, 192), /* magenta */ ++ MAKE_YUV_601(19, 19, 19), /* black */ ++ MAKE_YUV_601(0, 192, 192), /* cyan */ ++ MAKE_YUV_601(19, 19, 19), /* black */ ++ MAKE_YUV_601(192, 192, 192), /* grey */ ++ }; ++ const struct color_yuv colors_bottom[] = { ++ MAKE_YUV_601(0, 33, 76), /* in-phase */ ++ MAKE_YUV_601(255, 255, 255), /* super white */ ++ MAKE_YUV_601(50, 0, 106), /* quadrature */ ++ MAKE_YUV_601(19, 19, 19), /* black */ ++ MAKE_YUV_601(9, 9, 9), /* 3.5% */ ++ MAKE_YUV_601(19, 19, 19), /* 7.5% */ ++ MAKE_YUV_601(29, 29, 29), /* 11.5% */ ++ MAKE_YUV_601(19, 19, 19), /* black */ ++ }; ++ unsigned int cs = yuv->chroma_stride; ++ unsigned int xsub = yuv->xsub; ++ unsigned int ysub = yuv->ysub; ++ unsigned int x; ++ unsigned int y; ++ unsigned int cval = 0; ++ ++ for (y = 0; y < height * 6 / 9; ++y) { ++ for (x = 0; x < width; x += 3) ++ ((unsigned int *)y_mem)[x/3] = ++ colors_top[x * 7 / width].y << 2 | ++ colors_top[(x+1) * 7 / width].y << 12 | ++ colors_top[(x+2) * 7 / width].y << 22; ++ y_mem += stride; ++ } ++ ++ for (; y < height * 7 / 9; ++y) { ++ for (x = 0; x < width; x += 3) ++ ((unsigned int *)y_mem)[x/3] = ++ colors_middle[x * 7 / width].y << 2 | ++ colors_middle[(x+1) * 7 / width].y << 12 | ++ colors_middle[(x+2) * 7 / width].y << 22; ++ y_mem += stride; ++ } ++ ++ for (; y < height; ++y) { ++ for (x = 0; x < width * 5 / 7; x += 3) ++ ((unsigned int *)y_mem)[x/3] = ++ colors_bottom[x * 4 / (width * 5 / 7)].y << 2 | ++ colors_bottom[(x + 1) * 4 / (width * 5 / 7)] ++ .y << 12 | colors_bottom[(x + 2) * 4 / ++ (width * 5 / 7)].y << 22; ++ ++ for (; x < width * 6 / 7; x += 3) ++ ((unsigned int *)y_mem)[x/3] = ++ colors_bottom[(x - width * 5 / 7) * 3 / ++ (width / 7) + 4].y << 2 | ++ colors_bottom[((x + 1) - width * 5 / 7) * 3 / ++ (width / 7) + 4].y << 12 | ++ colors_bottom[((x + 2) - width * 5 / 7) * 3 / ++ (width / 7) + 4].y << 22; ++ ++ for (; x < width; x += 3) ++ ((unsigned int *)y_mem)[x/3] = colors_bottom[7].y << 2 | ++ colors_bottom[7].y << 12 | ++ colors_bottom[7].y << 22; ++ y_mem += stride; ++ } ++ ++ /* Chroma */ ++ unsigned int *c_mem = (unsigned int *)uv_mem; ++ ++ for (y = 0; y < height / ysub * 6 / 9; ++y) { ++ for (x = 0; x < width; x += 6) { ++ cval = (colors_top[x * 7 / width].u << 2) | ++ (colors_top[x * 7 / width].v << 12) | ++ (colors_top[(x + 2) * 7 / width].u << 22); ++ c_mem[x/3] = cval; ++ cval = (colors_top[(x + 2) * 7 / width].v << 2) | ++ (colors_top[(x + 4) * 7 / width].u << 12) | ++ (colors_top[(x + 4) * 7 / width].v << 22); ++ c_mem[x/3 + 1] = cval; ++ } ++ c_mem += (stride/4) * cs / xsub; ++ } ++ ++ for (; y < height / ysub * 7 / 9; ++y) { ++ for (x = 0; x < width; x += 6) { ++ cval = (colors_middle[x * 7 / width].u << 2) | ++ (colors_middle[x * 7 / width].v << 12) | ++ (colors_middle[(x + 2) * 7 / width].u << 22); ++ c_mem[x/3] = cval; ++ cval = (colors_middle[(x + 2) * 7 / width].v << 2) | ++ (colors_middle[(x + 4) * 7 / width].u << 12) | ++ (colors_middle[(x + 4) * 7 / width].v << 22); ++ c_mem[x/3 + 1] = cval; ++ } ++ c_mem += (stride/4) * cs / xsub; ++ } ++ ++ for (; y < height / ysub; ++y) { ++ for (x = 0; x < width * 5 / 7; x += 6) { ++ cval = colors_bottom[x * 4 / ++ (width * 5 / 7)].u << 2 | ++ colors_bottom[x * 4 / ++ (width * 5 / 7)].v << 12 | ++ colors_bottom[(x + 2) * 4 / ++ (width * 5 / 7)]. u << 22; ++ ++ c_mem[x/3] = cval; ++ ++ cval = colors_bottom[(x + 2) * 4 / ++ (width * 5 / 7)].v << 2 | ++ colors_bottom[(x + 4) * 4 / ++ (width * 5 / 7)].u << 12 | ++ colors_bottom[(x + 4) * 4 / ++ (width * 5 / 7)].v << 22; ++ ++ c_mem[x/3 + 1] = cval; ++ } ++ for (; x < width * 6 / 7; x += 6) { ++ cval = colors_bottom[(x - width * 5 / 7) * 3 / ++ (width / 7) + 4].u << 2 | ++ colors_bottom[(x - width * 5 / 7) * 3 / ++ (width / 7) + 4].v << 12 | ++ colors_bottom[((x + 2) - width * 5 / 7) * 3 / ++ (width / 7) + 4].u << 22; ++ ++ c_mem[x/3] = cval; ++ ++ cval = colors_bottom[((x + 2) - width * 5 / 7) * 3 / ++ (width / 7) + 4].v << 2 | ++ colors_bottom[((x + 4) - width * 5 / 7) * 3 / ++ (width / 7) + 4].u << 12 | ++ colors_bottom[((x + 4) - width * 5 / 7) * 3 / ++ (width / 7) + 4].v << 22; ++ c_mem[x/3 + 1] = cval; ++ } ++ for (; x < width; x += 6) { ++ cval = colors_bottom[7].u << 2 | ++ colors_bottom[7].v << 12 | ++ colors_bottom[7].u << 22; ++ c_mem[x/3] = cval; ++ cval = colors_bottom[7].v << 2 | ++ colors_bottom[7].u << 12 | ++ colors_bottom[7].v << 22; ++ c_mem[x/3 + 1] = cval; ++ } ++ c_mem += (stride/4) * cs / xsub; ++ } ++} ++ ++static void fill_smpte_yuv_planar_10b( ++ const struct util_yuv_info *yuv, ++ unsigned char *y_mem, unsigned char *u_mem, ++ unsigned char *v_mem, unsigned int width, ++ unsigned int height, unsigned int stride) ++{ ++ const struct color_yuv colors_top[] = { ++ MAKE_YUV_601(191, 192, 192), /* grey */ ++ MAKE_YUV_601(192, 192, 0), /* yellow */ ++ MAKE_YUV_601(0, 192, 192), /* cyan */ ++ MAKE_YUV_601(0, 192, 0), /* green */ ++ MAKE_YUV_601(192, 0, 192), /* magenta */ ++ MAKE_YUV_601(192, 0, 0), /* red */ ++ MAKE_YUV_601(0, 0, 192), /* blue */ ++ }; ++ const struct color_yuv colors_middle[] = { ++ MAKE_YUV_601(0, 0, 192), /* blue */ ++ MAKE_YUV_601(19, 19, 19), /* black */ ++ MAKE_YUV_601(192, 0, 192), /* magenta */ ++ MAKE_YUV_601(19, 19, 19), /* black */ ++ MAKE_YUV_601(0, 192, 192), /* cyan */ ++ MAKE_YUV_601(19, 19, 19), /* black */ ++ MAKE_YUV_601(192, 192, 192), /* grey */ ++ }; ++ const struct color_yuv colors_bottom[] = { ++ MAKE_YUV_601(0, 33, 76), /* in-phase */ ++ MAKE_YUV_601(255, 255, 255), /* super white */ ++ MAKE_YUV_601(50, 0, 106), /* quadrature */ ++ MAKE_YUV_601(19, 19, 19), /* black */ ++ MAKE_YUV_601(9, 9, 9), /* 3.5% */ ++ MAKE_YUV_601(19, 19, 19), /* 7.5% */ ++ MAKE_YUV_601(29, 29, 29), /* 11.5% */ ++ MAKE_YUV_601(19, 19, 19), /* black */ ++ }; ++ unsigned int cs = yuv->chroma_stride; ++ unsigned int xsub = yuv->xsub; ++ unsigned int ysub = yuv->ysub; ++ unsigned int x; ++ unsigned int y; ++ ++ /* Luma */ ++ for (y = 0; y < height * 6 / 9; ++y) { ++ for (x = 0; x < width; ++x) ++ y_mem[x] = colors_top[x * 7 / width].y; ++ y_mem += stride; ++ } ++ ++ for (; y < height * 7 / 9; ++y) { ++ for (x = 0; x < width; ++x) ++ y_mem[x] = colors_middle[x * 7 / width].y; ++ y_mem += stride; ++ } ++ ++ for (; y < height; ++y) { ++ for (x = 0; x < width * 5 / 7; ++x) ++ y_mem[x] = colors_bottom[x * 4 / (width * 5 / 7)].y; ++ for (; x < width * 6 / 7; ++x) ++ y_mem[x] = colors_bottom[(x - width * 5 / 7) * 3 / ++ (width / 7) + 4].y; ++ for (; x < width; ++x) ++ y_mem[x] = colors_bottom[7].y; ++ y_mem += stride; ++ } ++ ++ /* Chroma */ ++ for (y = 0; y < height / ysub * 6 / 9; ++y) { ++ for (x = 0; x < width; x += xsub) { ++ u_mem[x*cs/xsub] = colors_top[x * 7 / width].u; ++ v_mem[x*cs/xsub] = colors_top[x * 7 / width].v; ++ } ++ u_mem += stride * cs / xsub; ++ v_mem += stride * cs / xsub; ++ } ++ ++ for (; y < height / ysub * 7 / 9; ++y) { ++ for (x = 0; x < width; x += xsub) { ++ u_mem[x*cs/xsub] = colors_middle[x * 7 / width].u; ++ v_mem[x*cs/xsub] = colors_middle[x * 7 / width].v; ++ } ++ u_mem += stride * cs / xsub; ++ v_mem += stride * cs / xsub; ++ } ++ ++ for (; y < height / ysub; ++y) { ++ for (x = 0; x < width * 5 / 7; x += xsub) { ++ u_mem[x*cs/xsub] = ++ colors_bottom[x * 4 / (width * 5 / 7)].u; ++ v_mem[x*cs/xsub] = ++ colors_bottom[x * 4 / (width * 5 / 7)].v; ++ } ++ for (; x < width * 6 / 7; x += xsub) { ++ u_mem[x*cs/xsub] = ++ colors_bottom[(x - width * 5 / 7) * 3 / (width / 7) + 4].u; ++ v_mem[x*cs/xsub] = ++ colors_bottom[(x - width * 5 / 7) * 3 / (width / 7) + 4].v; ++ } ++ for (; x < width; x += xsub) { ++ u_mem[x*cs/xsub] = colors_bottom[7].u; ++ v_mem[x*cs/xsub] = colors_bottom[7].v; ++ } ++ u_mem += stride * cs / xsub; ++ v_mem += stride * cs / xsub; ++ } ++} ++ ++static void fill_tiles_xv15( ++ const struct util_format_info *info, ++ unsigned char *y_mem, unsigned char *u_mem, ++ unsigned char *v_mem, uint32_t width, ++ uint32_t height, uint32_t stride) ++{ ++ const struct util_yuv_info *yuv = &info->yuv; ++ unsigned int cs = yuv->chroma_stride; ++ unsigned int x; ++ unsigned int y; ++ uint32_t shifter = 0, LumVal = 0; ++ uint32_t lumIndex = 0; ++ uint32_t *Lum; ++ uint32_t *Chrom; ++ uint32_t ChromVal = 0; ++ uint32_t chromIndex = 0; ++ ++ /* preparing 10 bit Luma */ ++ Lum = (uint32_t *)y_mem; ++ for (y = 0; y < height; ++y) { ++ for (x = 0; x < width; x++) { ++ div_t d = div(x+y, width); ++ uint32_t rgb32 = 0x00130502 * (d.quot >> 6) ++ + 0x000a1120 * (d.rem >> 6); ++ struct color_yuv color = ++ MAKE_YUV_601((rgb32 >> 16) & 0xff, ++ (rgb32 >> 8) & 0xff, rgb32 & 0xff); ++ //Checking if we got 3 components to pack in 4 bytes ++ if (shifter == 30) { ++ Lum[lumIndex] = LumVal; ++ lumIndex++; shifter = 0; LumVal = 0; ++ } ++ LumVal = (LumVal | ((color.y << 2) << shifter)); ++ shifter += 10; //10 bit precision ++ } ++ lumIndex = 0; shifter = 0; LumVal = 0; ++ y_mem += stride; ++ Lum = (uint32_t *)y_mem; ++ } ++ ++ /* Preparing 10 bit Chroma */ ++ Chrom = (uint32_t *)u_mem; ++ for (y = 0; y < height / 2; ++y) { ++ for (x = 0; x < width; x = x + 6) { ++ div_t d = div(x+(2 * y), width); ++ uint32_t rgb32 = 0x00130502 * (d.quot >> 6) ++ + 0x000a1120 * (d.rem >> 6); ++ struct color_yuv color = ++ MAKE_YUV_601((rgb32 >> 16) & 0xff, ++ (rgb32 >> 8) & 0xff, rgb32 & 0xff); ++ div_t d2 = div(x + 2 + (2*y), width); ++ uint32_t rgb32_2 = 0x00130502 * (d2.quot >> 6) ++ + 0x000a1120 * (d2.rem >> 6); ++ struct color_yuv color_2 = ++ MAKE_YUV_601((rgb32_2 >> 16) & 0xff, ++ (rgb32_2 >> 8) & 0xff, rgb32_2 & 0xff); ++ ++ div_t d3 = div(x + 4 + (2*y), width); ++ uint32_t rgb32_3 = 0x00130502 * (d3.quot >> 6) ++ + 0x000a1120 * (d3.rem >> 6); ++ struct color_yuv color_3 = ++ MAKE_YUV_601((rgb32_3 >> 16) & 0xff, ++ (rgb32_3 >> 8) & 0xff, rgb32_3 & 0xff); ++ ++ ChromVal = ((color_2.u << 2) << 20) ++ | ((color.v << 2) << 10) | (color.u << 2); ++ Chrom[chromIndex++] = ChromVal; ++ ++ ChromVal = ((color_3.v << 2) << 20) ++ | ((color_3.u << 2) << 10) | (color_2.v << 2); ++ Chrom[chromIndex++] = ChromVal; ++ } ++ chromIndex = 0; ChromVal = 0; ++ u_mem += stride; ++ Chrom = (uint32_t *)u_mem; ++ } ++} ++ ++static void fill_tiles_xv20( ++ const struct util_format_info *info, ++ unsigned char *y_mem, unsigned char *u_mem, ++ unsigned char *v_mem, uint32_t width, ++ uint32_t height, uint32_t stride) ++{ ++ const struct util_yuv_info *yuv = &info->yuv; ++ unsigned int cs = yuv->chroma_stride; ++ unsigned int x; ++ unsigned int y; ++ uint32_t shifter = 0, LumVal = 0; ++ uint32_t lumIndex = 0; ++ uint32_t *Lum; ++ uint32_t *Chrom; ++ uint32_t ChromVal = 0; ++ uint32_t chromIndex = 0; ++ ++ /* preparing 10 bit Luma */ ++ Lum = (uint32_t *)y_mem; ++ for (y = 0; y < height; ++y) { ++ for (x = 0; x < width; x++) { ++ div_t d = div(x+y, width); ++ uint32_t rgb32 = 0x00130502 * (d.quot >> 6) ++ + 0x000a1120 * (d.rem >> 6); ++ struct color_yuv color = ++ MAKE_YUV_601((rgb32 >> 16) & 0xff, ++ (rgb32 >> 8) & 0xff, rgb32 & 0xff); ++ //Checking if we got 3 components to pack in 4 bytes ++ if (shifter == 30) { ++ Lum[lumIndex] = LumVal; ++ lumIndex++; shifter = 0; LumVal = 0; ++ } ++ LumVal = (LumVal | ((color.y << 2) << shifter)); ++ shifter += 10; //10 bit precision ++ } ++ lumIndex = 0; shifter = 0; LumVal = 0; ++ y_mem += stride; ++ Lum = (uint32_t *)y_mem; ++ } ++ ++ /* Preparing 10 bit Chroma */ ++ Chrom = (uint32_t *)u_mem; ++ for (y = 0; y < height; ++y) { ++ for (x = 0; x < width; x = x + 6) { ++ div_t d = div(x+y, width); ++ uint32_t rgb32 = 0x00130502 * (d.quot >> 6) ++ + 0x000a1120 * (d.rem >> 6); ++ struct color_yuv color = ++ MAKE_YUV_601((rgb32 >> 16) & 0xff, ++ (rgb32 >> 8) & 0xff, rgb32 & 0xff); ++ div_t d2 = div(x + 2 + y, width); ++ uint32_t rgb32_2 = 0x00130502 * (d2.quot >> 6) ++ + 0x000a1120 * (d2.rem >> 6); ++ struct color_yuv color_2 = ++ MAKE_YUV_601((rgb32_2 >> 16) & 0xff, ++ (rgb32_2 >> 8) & 0xff, rgb32_2 & 0xff); ++ div_t d3 = div(x + 4 + y, width); ++ uint32_t rgb32_3 = 0x00130502 * (d3.quot >> 6) ++ + 0x000a1120 * (d3.rem >> 6); ++ struct color_yuv color_3 = ++ MAKE_YUV_601((rgb32_3 >> 16) & 0xff, ++ (rgb32_3 >> 8) & 0xff, rgb32_3 & 0xff); ++ ++ ChromVal = ((color_2.u << 2) << 20) ++ | ((color.v << 2) << 10) | (color.u << 2); ++ Chrom[chromIndex++] = ChromVal; ++ ++ ChromVal = ((color_3.v << 2) << 20) ++ | ((color_3.u << 2) << 10) | (color_2.v << 2); ++ Chrom[chromIndex++] = ChromVal; ++ } ++ chromIndex = 0; ChromVal = 0; ++ u_mem += stride; ++ Chrom = (uint32_t *)u_mem; ++ } ++} ++ + static void fill_smpte_yuv_packed(const struct util_yuv_info *yuv, void *mem, + unsigned int width, unsigned int height, + unsigned int stride) +@@ -678,9 +1104,10 @@ void util_smpte_c8_gamma(unsigned size, struct drm_color_lut *lut) + #undef FILL_COLOR + } + +-static void fill_smpte(const struct util_format_info *info, void *planes[3], +- unsigned int width, unsigned int height, +- unsigned int stride) ++static void fill_smpte(const struct util_format_info *info, ++ void *planes[3], ++ unsigned int width, unsigned int height, ++ unsigned int stride) + { + unsigned char *u, *v; + +@@ -693,7 +1120,12 @@ static void fill_smpte(const struct util_format_info *info, void *planes[3], + case DRM_FORMAT_YVYU: + return fill_smpte_yuv_packed(&info->yuv, planes[0], width, + height, stride); +- ++ case DRM_FORMAT_XV20: ++ return fill_tiles_xv20(info, planes[0], planes[1], planes[1], ++ width, height, stride); ++ case DRM_FORMAT_XV15: ++ return fill_tiles_xv15(info, planes[0], planes[1], planes[2], ++ width, height, stride); + case DRM_FORMAT_NV12: + case DRM_FORMAT_NV21: + case DRM_FORMAT_NV16: +@@ -1005,9 +1437,10 @@ static void fill_tiles_rgb16fp(const struct util_format_info *info, void *mem, + } + } + +-static void fill_tiles(const struct util_format_info *info, void *planes[3], +- unsigned int width, unsigned int height, +- unsigned int stride) ++static void fill_tiles(const struct util_format_info *info, ++ void *planes[3], ++ unsigned int width, unsigned int height, ++ unsigned int stride) + { + unsigned char *u, *v; + +@@ -1036,6 +1469,14 @@ static void fill_tiles(const struct util_format_info *info, void *planes[3], + return fill_tiles_yuv_planar(info, planes[0], planes[2], + planes[1], width, height, stride); + ++ case DRM_FORMAT_XV20: ++ return fill_tiles_xv20(info, planes[0], planes[1], ++ planes[1], width, height, stride); ++ ++ case DRM_FORMAT_XV15: ++ return fill_tiles_xv15(info, planes[0], planes[1], ++ planes[2], width, height, stride); ++ + case DRM_FORMAT_ARGB4444: + case DRM_FORMAT_XRGB4444: + case DRM_FORMAT_ABGR4444: +-- +2.7.4 + diff --git a/meta-xilinx-core/recipes-graphics/drm/files/0004-modetest-fix-smpte-colour-pattern-issue-for-XV20-and.patch b/meta-xilinx-core/recipes-graphics/drm/files/0004-modetest-fix-smpte-colour-pattern-issue-for-XV20-and.patch new file mode 100644 index 00000000..3868c212 --- /dev/null +++ b/meta-xilinx-core/recipes-graphics/drm/files/0004-modetest-fix-smpte-colour-pattern-issue-for-XV20-and.patch @@ -0,0 +1,36 @@ +From ede95ded932a8f722f339fa345c098c705f40f08 Mon Sep 17 00:00:00 2001 +From: Anil Kumar M +Date: Wed, 16 Sep 2020 22:42:47 +0530 +Subject: [PATCH 4/5] modetest: fix smpte colour pattern issue for XV20 and + XV15 formats + +Fix smpte colour issue for XV15 and XV20 formats. + +Signed-off-by: Anil Kumar M +--- + tests/util/pattern.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/tests/util/pattern.c b/tests/util/pattern.c +index e29d160..0fe2e5f 100644 +--- a/tests/util/pattern.c ++++ b/tests/util/pattern.c +@@ -1121,11 +1121,11 @@ static void fill_smpte(const struct util_format_info *info, + return fill_smpte_yuv_packed(&info->yuv, planes[0], width, + height, stride); + case DRM_FORMAT_XV20: +- return fill_tiles_xv20(info, planes[0], planes[1], planes[1], +- width, height, stride); ++ return fill_smpte_yuv_semiplanar_10b(&info->yuv, planes[0], planes[1], ++ width, height, stride); + case DRM_FORMAT_XV15: +- return fill_tiles_xv15(info, planes[0], planes[1], planes[2], +- width, height, stride); ++ return fill_smpte_yuv_semiplanar_10b(&info->yuv, planes[0], planes[1], ++ width, height, stride); + case DRM_FORMAT_NV12: + case DRM_FORMAT_NV21: + case DRM_FORMAT_NV16: +-- +2.7.4 + diff --git a/meta-xilinx-core/recipes-graphics/drm/libdrm_%.bbappend b/meta-xilinx-core/recipes-graphics/drm/libdrm_%.bbappend new file mode 100644 index 00000000..4dd49264 --- /dev/null +++ b/meta-xilinx-core/recipes-graphics/drm/libdrm_%.bbappend @@ -0,0 +1,11 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + + +SRC_URI:append = " \ + file://0001-PATCH-libdrm-Update-drm-header-file-with-XV15-and-XV.patch \ + file://0002-modetest-call-drmModeCrtcSetGamma-only-if-add_proper.patch \ + file://0003-modetest-Add-semiplanar-10bit-pattern-support-for-mo.patch \ + file://0004-modetest-fix-smpte-colour-pattern-issue-for-XV20-and.patch \ + file://0001-modetest-Add-YUV444-and-X403-format-support-for-mode.patch \ + file://0001-headers-Sync-with-HDR-from-v5.15.patch \ +" -- cgit v1.2.3-54-g00ecf From b69184484313bc3a1806a7dbf2ee376dce145dd1 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Thu, 16 Nov 2023 10:03:13 -0700 Subject: classes: Deprecate fpgamanager_custom bbclass Deprecate fpgamanager_custom.bbclass and this bbclass functionality is available in new dfx_user_dts.bbclass and going forward user should be using dfx_user_dts.bbclass. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- .../classes/fpgamanager_custom.bbclass | 24 ---------------------- 1 file changed, 24 deletions(-) delete mode 100644 meta-xilinx-core/classes/fpgamanager_custom.bbclass diff --git a/meta-xilinx-core/classes/fpgamanager_custom.bbclass b/meta-xilinx-core/classes/fpgamanager_custom.bbclass deleted file mode 100644 index 8c8997a1..00000000 --- a/meta-xilinx-core/classes/fpgamanager_custom.bbclass +++ /dev/null @@ -1,24 +0,0 @@ -# This class inherits dfx_user_dts.bbclass for below use cases. -# Zynq-7000 and ZynqMP: Full bitstream loading. -# ZynqMP: DFx Static and Partial bitstream loading. -# Versal: DFx Static and Parial pdi loading. -# Versal: Full PDI loading. - -inherit dfx_user_dts - -python fpgamanager_warn_msg () { - if not d.getVar("FPGAMANAGER_NO_WARN"): - arch = d.getVar('SOC_FAMILY') - pn = d.getVar('PN') - warn_msg = 'Users should start using dfx_user_dts bbclass for ' - if arch == 'zynq': - warn_msg += 'Zynq-7000 Full bitstream loading use case.' - elif arch == 'zynqmp': - warn_msg += 'ZynqMP Full or DFx Static or DFx Partial bitstream loading use case.' - elif arch == 'versal': - warn_msg += 'Versal DFx Static or DFx Partial or Full PDI loading use case.' - - bb.warn("Recipe %s has inherited fpgamanager_custom bbclass which will be deprecated in 2024.1 release. \n%s" % (pn, warn_msg)) -} - -do_install[postfuncs] += "fpgamanager_warn_msg" \ No newline at end of file -- cgit v1.2.3-54-g00ecf From 4b1d57a77371c2b7d5db0fc8f340305af38dd465 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Thu, 16 Nov 2023 10:03:14 -0700 Subject: docs: Deprecate README.fpgamanager.custom.md Deprecate README.fpgamanager.custom.md and going forward user should refer README.dfx.user.dts.md file. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- docs/README.fpgamanager.custom.md | 478 -------------------------------------- 1 file changed, 478 deletions(-) delete mode 100644 docs/README.fpgamanager.custom.md diff --git a/docs/README.fpgamanager.custom.md b/docs/README.fpgamanager.custom.md deleted file mode 100644 index dcdaec55..00000000 --- a/docs/README.fpgamanager.custom.md +++ /dev/null @@ -1,478 +0,0 @@ -# Build Instructions to create firmware recipes using fpgamanager_custom bbclass - -* [Introduction](#introduction) -* [How to create a firmware recipe app](#how-to-create-a-firmware-recipe-app) -* [Test Procedure on Target](#test-procedure-on-target) - * [Loading PL bitstream or pdi and dt overlay](#loading-pl-bitstream-or-pdi-and-dt-overlay) - * [Testing PL functionality](#testing-pl-functionality) - * [Unloading PL bitstream or pdi and dt overlay](#unloading-pl-bitstream-or-pdi-and-dt-overlay) -* [References](#references) - -> **Note:** This README will be deprecated in 2024.1 release. User sthould start -> using [DFx User DTS README](README.dfx.user.dts.md) - -## Introduction -This readme describes the build instructions to create firmware recipes using -fpgamanager_custom.bbclass for dynamic configuration. This bitbake class supports -following use cases. - -> **Note:** Refer https://github.com/Xilinx/dfx-mgr/blob/master/README.md for -> shell.json and accel.json file content. - -* **Zynq-7000 and ZynqMP**: - * Design: Vivado flat design. - * Input files to firmware recipes: .bit, .dtsi or dtbo and shell.json (optional) - * Usage Examples: -``` -SRC_URI = " \ - file://.bit \ - file://.dtsi \ - file://shell.json \ - " -``` - -``` -SRC_URI = " \ - file://.bit \ - file://.dtbo \ - file://shell.json \ - " -``` - -* **ZynqMP and Versal**: - * Design: Vivado DFx design. - * Input files to firmware recipes: .bit(ZynqMP) or .pdi(Versal), .dtsi or dtbo - shell.json or accel.json (optional) and .xclbin (optional). - * Usage Examples: - -``` -# ZynqMP DFx Static -SRC_URI = " \ - file://.bit \ - file://.dtsi \ - file://shell.json \ - file://.xclbin \ - " -``` - -``` -# ZynqMP DFx Static -SRC_URI = " \ - file://.bit \ - file://.dtbo \ - file://shell.json \ - file://.xclbin \ - " -``` - -``` -# ZynqMP DFx RP -SRC_URI = " \ - file://.bit \ - file://.dtsi \ - file://accel.json \ - file://.xclbin \ - " -``` - -``` -# ZynqMP DFx RP -SRC_URI = " \ - file://.bit \ - file://.dtbo \ - file://accel.json \ - file://.xclbin \ - " -``` -``` -# Versal DFx Static -SRC_URI = " \ - file://.pdi \ - file://.dtsi \ - file://shell.json \ - file://.xclbin \ - " -``` - -``` -# Versal DFx Static -SRC_URI = " \ - file://.pdi \ - file://.dtbo \ - file://shell.json \ - file://.xclbin \ - " -``` - -``` -# Versal DFx RP -SRC_URI = " \ - file://.pdi \ - file://.dtsi \ - file://accel.json \ - file://.xclbin \ - " -``` - -``` -# Versal DFx RP -SRC_URI = " \ - file://.pdi \ - file://.dtbo \ - file://accel.json \ - file://.xclbin \ - " -``` ---- - -## How to create a firmware recipe app - -1. Follow [Building Instructions](../README.building.md) upto step 4. -2. Create recipes-firmware directory in meta layer and copy the .bit/pdi, - .dtsi/dtbo, .json and .xclbin file to these directories. -``` -$ mkdir -p /recipes-fimrware//files -$ cp -r /*.{bit or pdi, dtsi or dtbo, shell.json or accel.json and .xclbin} /recipes-fimrware//files -``` -3. Now create the recipes for flat or static or partial firmware using recipetool. -``` -$ recipetool create -o /recipes-fimrware//firmware-app-name.bb file:////recipes-fimrware//files -``` -4. Modify the recipe and inherit fpgamanager_custom bbclass as shown below. -``` -SUMMARY = "Full Bitstream loading zcu111-pl-demo firmware using fpgamanager_custom bbclass" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" - -inherit fpgamanager_custom - -SRC_URI = "\ - file://zcu111-pl-demo.bit \ - file://zcu111-pl-demo.dtsi \ - " - -COMPATIBLE_MACHINE ?= "^$" -COMPATIBLE_MACHINE:zynqmp = "zynqmp" -``` -5. Add firmware-recipe app to image and enable fpga-overlay machine features to - local.conf as shown below. -> **Note:** fpga-manager-script provides fpgautil tool to load .bit/pdi and dtbo -> at runtime linux. -``` -MACHINE_FEATURES += "fpga-overlay" -IMAGE_INSTALL:append = " \ - firmware-app-name \ - fpga-manager-script \ - " -``` -6. Follow [Building Instructions](../README.building.md) and continue from step 5. -7. Once images are built firmware app files will be installed on target_rootfs. -``` -# /lib/firmware/xilinx/firmware-app-name -``` ---- - -## Test Procedure on Target -* Once Linux boots on target, use fpgautil command to load .bit or .pdi and - corresponding dt overlay as shown below. -> **Note:** firmware can be loaded only with sudo or root permissions. ---- - -### Loading PL bitstream or pdi and dt overlay - -* ZynqMP -``` -yocto-zynqmp-generic-20231:~$ sudo su -yocto-zynqmp-generic-20231:/home/petalinux# cat /proc/interrupts - CPU0 CPU1 CPU2 CPU3 - 11: 13309 13021 13673 14170 GICv2 30 Level arch_timer - 14: 0 0 0 0 GICv2 67 Level zynqmp_ipi - 15: 0 0 0 0 GICv2 175 Level arm-pmu - 16: 0 0 0 0 GICv2 176 Level arm-pmu - 17: 0 0 0 0 GICv2 177 Level arm-pmu - 18: 0 0 0 0 GICv2 178 Level arm-pmu - 19: 0 0 0 0 GICv2 58 Level ffa60000.rtc - 20: 0 0 0 0 GICv2 59 Level ffa60000.rtc - 21: 0 0 0 0 GICv2 42 Level ff960000.memory-controller - 22: 0 0 0 0 GICv2 88 Level ams-irq - 23: 0 0 0 0 GICv2 155 Level axi-pmon, axi-pmon - 24: 327 0 0 0 GICv2 53 Level xuartps - 27: 0 0 0 0 GICv2 156 Level zynqmp-dma - 28: 0 0 0 0 GICv2 157 Level zynqmp-dma - 29: 0 0 0 0 GICv2 158 Level zynqmp-dma - 30: 0 0 0 0 GICv2 159 Level zynqmp-dma - 31: 0 0 0 0 GICv2 160 Level zynqmp-dma - 32: 0 0 0 0 GICv2 161 Level zynqmp-dma - 33: 0 0 0 0 GICv2 162 Level zynqmp-dma - 34: 0 0 0 0 GICv2 163 Level zynqmp-dma - 35: 0 0 0 0 GICv2 109 Level zynqmp-dma - 36: 0 0 0 0 GICv2 110 Level zynqmp-dma - 37: 0 0 0 0 GICv2 111 Level zynqmp-dma - 38: 0 0 0 0 GICv2 112 Level zynqmp-dma - 39: 0 0 0 0 GICv2 113 Level zynqmp-dma - 40: 0 0 0 0 GICv2 114 Level zynqmp-dma - 41: 0 0 0 0 GICv2 115 Level zynqmp-dma - 42: 0 0 0 0 GICv2 116 Level zynqmp-dma - 43: 0 0 0 0 GICv2 154 Level fd4c0000.dma-controller - 44: 5938 0 0 0 GICv2 47 Level ff0f0000.spi - 45: 76 0 0 0 GICv2 95 Level eth0, eth0 - 46: 0 0 0 0 GICv2 57 Level axi-pmon, axi-pmon - 47: 4802 0 0 0 GICv2 49 Level cdns-i2c - 48: 501 0 0 0 GICv2 50 Level cdns-i2c - 50: 0 0 0 0 GICv2 84 Edge ff150000.watchdog - 51: 0 0 0 0 GICv2 151 Level fd4a0000.display - 52: 548 0 0 0 GICv2 81 Level mmc0 - 53: 0 0 0 0 GICv2 165 Level ahci-ceva[fd0c0000.ahci] - 54: 0 0 0 0 GICv2 97 Level xhci-hcd:usb1 - 55: 0 0 0 0 zynq-gpio 22 Edge sw19 -IPI0: 64 25 87 38 Rescheduling interrupts -IPI1: 1933 6579 1096 5686 Function call interrupts -IPI2: 0 0 0 0 CPU stop interrupts -IPI3: 0 0 0 0 CPU stop (for crash dump) interrupts -IPI4: 0 0 0 0 Timer broadcast interrupts -IPI5: 0 0 0 0 IRQ work interrupts -IPI6: 0 0 0 0 CPU wake-up interrupts -Err: 0 -yocto-zynqmp-generic-20231:/home/petalinux# tree /lib/firmware/ -/lib/firmware/ -`-- xilinx - `-- zcu111-pl-demo - |-- zcu111-pl-demo.bit.bin - `-- zcu111-pl-demo.dtbo - -2 directories, 2 files -yocto-zynqmp-generic-20231:/home/petalinux# fpgautil -b /lib/firmware/xilinx/zcu111-pl-demo/zcu111-pl-demo.bit -o /lib/firmware/xilinx/zcu111-pl-demo/zcu111-pl-demo.dtbo -[ 91.039773] fpga_manager fpga0: writing zcu111-pl-demo.bit to Xilinx ZynqMP FPGA Manager -[ 91.528214] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/firmware-name -[ 91.538354] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/pid -[ 91.547598] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/resets -[ 91.557087] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/uid -[ 91.566804] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/afi0 -[ 91.576312] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/clocking0 -[ 91.586255] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_gpio_0 -[ 91.596280] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/misc_clk_0 -[ 91.606300] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_gpio_1 -[ 91.616325] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_gpio_2 -[ 91.626342] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_uartlite_0 -[ 91.636705] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/ddr4_0 -[ 91.661849] gpio gpiochip3: (a0000000.gpio): not an immutable chip, please consider fixing it! -[ 91.662020] gpio gpiochip4: (a0010000.gpio): not an immutable chip, please consider fixing it! -[ 91.863492] a0030000.serial: ttyUL0 at MMIO 0xa0030000 (irq = 58, base_baud = 0) is a uartlite -[ 91.876674] uartlite a0030000.serial: Runtime PM usage count underflow! -[ 91.906539] input: pl-gpio-keys as /devices/platform/pl-gpio-keys/input/input1 -Time taken to load BIN is 901.000000 Milli Seconds -BIN FILE loaded through FPGA manager successfully -yocto-zynqmp-generic-20231:/home/petalinux# -``` -* Versal (DFx Static) -``` -yocto-vck190-dfx-2023:~$ sudo su -root@yocto-vck190-dfx-2023:~# -root@yocto-vck190-dfx-2023:~# fpgautil -o /lib/firmware/xilinx/vck190-dfx-static/vck190-dfx-static.dtbo -[ 257.555571] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga/external-fpga-config -[ 257.565879] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga/pid -[ 257.574670] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga/uid -[ 257.583599] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/fpga_PR0 -[ 257.593434] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/fpga_PR1 -[ 257.603268] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/fpga_PR2 -[ 257.613100] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/static_region_axi_bram_ctrl_0 -[ 257.624762] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/static_region_dfx_decoupler_rp1 -[ 257.636589] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/static_region_dfx_decoupler_rp2 -[ 257.648415] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/static_region_dfx_decoupler_rp3 -[ 257.663234] of-fpga-region fpga:fpga-PR0: FPGA Region probed -[ 257.669135] of-fpga-region fpga:fpga-PR1: FPGA Region probed -[ 257.675022] of-fpga-region fpga:fpga-PR2: FPGA Region probed -root@yocto-vck190-dfx-2023:~# -``` -* Versal (DFx RP) -``` -root@yocto-vck190-dfx-2023:~# fpgautil -b /lib/firmware/xilinx/vck190-dfx-static/rp1/vck190-dfx-rp1rm1-dipsw/vck190-dfx-rp1rm1-dipsw.pdi -o /lib/firmware/xilinx/vck190-dfx-static/rp1/vck190-dfx-rp1rm1-dipsw/vck190-dfx-rp1rm1-dipsw.dtbo -f Partial -n PR0 -[ 273.511455] fpga_manager fpga0: writing vck190-dfx-rp1rm1-dipsw.pdi to Xilinx Versal FPGA Manager -[284052.461]Loading PDI from DDR -[284052.566]Monolithic/Master Device -[284055.847]3.365 ms: PDI initialization time -[284059.809]+++Loading Image#: 0x0, Name: pl_cfi, Id: 0x18700002 -[284065.432]---Loading Partition#: 0x0, Id: 0x103 -[284069.829] 0.033 ms for Partition#: 0x0, Size: 1312 Bytes -[284074.973]---Loading Partition#: 0x1, Id: 0x105 -[284079.344] 0.007 ms for Partition#: 0x1, Size: 160 Bytes -[284084.430]---Loading Partition#: 0x2, Id: 0x205 -[284088.844] 0.049 ms for Partition#: 0x2, Size: 960 Bytes -[284093.887]---Loading Partition#: 0x3, Id: 0x203 -[284098.280] 0.030 ms for Partition#: 0x3, Size: 688 Bytes -[284103.342]---Loading Partition#: 0x4, Id: 0x303 -[284108.863] 1.156 ms for Partition#: 0x4, Size: 209440 Bytes -[284113.052]---Loading Partition#: 0x5, Id: 0x305 -[284117.712] 0.296 ms for Partition#: 0x5, Size: 3536 Bytes -[284122.594]---Loading Partition#: 0x6, Id: 0x403 -[284126.991] 0.034 ms for Partition#: 0x6, Size: 8096 Bytes -[284132.136]---Loading Partition#: 0x7, Id: 0x405 -[284136.507] 0.007 ms for Partition#: 0x7, Size: 160 Bytes -[284141.636]Subsystem PDI Load: Done -[ 273.615503] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga/firmware-name -[ 273.627382] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga/fpga-bridges -[ 273.636953] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga/partial-fpga-config -[ 273.647241] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/rp1_axi_gpio_0 -[ 273.660826] gpio gpiochip1: (a4010000.gpio): not an immutable chip, please consider fixing it! -[ 273.670490] input: pl-gpio-keys as /devices/platform/pl-gpio-keys/input/input0 -Time taken to load BIN is 171.000000 Milli Seconds -BIN FILE loaded through FPGA manager successfully -root@yocto-vck190-dfx-2023:~# -``` ---- - -### Testing PL functionality - -* This examples uses PL GPIO DIP switches and Push buttons to capture interrupts. -* Verify PL GPIO DIP switches and Push buttons are registered. -* Move the DIP Switches ON/OFF and verify the interrupt counts. -``` -yocto-zynqmp-generic-20231:/home/petalinux# cat /proc/interrupts - CPU0 CPU1 CPU2 CPU3 - 11: 23303 22971 24203 24990 GICv2 30 Level arch_timer - 14: 0 0 0 0 GICv2 67 Level zynqmp_ipi - 15: 0 0 0 0 GICv2 175 Level arm-pmu - 16: 0 0 0 0 GICv2 176 Level arm-pmu - 17: 0 0 0 0 GICv2 177 Level arm-pmu - 18: 0 0 0 0 GICv2 178 Level arm-pmu - 19: 0 0 0 0 GICv2 58 Level ffa60000.rtc - 20: 0 0 0 0 GICv2 59 Level ffa60000.rtc - 21: 0 0 0 0 GICv2 42 Level ff960000.memory-controller - 22: 0 0 0 0 GICv2 88 Level ams-irq - 23: 0 0 0 0 GICv2 155 Level axi-pmon, axi-pmon - 24: 515 0 0 0 GICv2 53 Level xuartps - 27: 0 0 0 0 GICv2 156 Level zynqmp-dma - 28: 0 0 0 0 GICv2 157 Level zynqmp-dma - 29: 0 0 0 0 GICv2 158 Level zynqmp-dma - 30: 0 0 0 0 GICv2 159 Level zynqmp-dma - 31: 0 0 0 0 GICv2 160 Level zynqmp-dma - 32: 0 0 0 0 GICv2 161 Level zynqmp-dma - 33: 0 0 0 0 GICv2 162 Level zynqmp-dma - 34: 0 0 0 0 GICv2 163 Level zynqmp-dma - 35: 0 0 0 0 GICv2 109 Level zynqmp-dma - 36: 0 0 0 0 GICv2 110 Level zynqmp-dma - 37: 0 0 0 0 GICv2 111 Level zynqmp-dma - 38: 0 0 0 0 GICv2 112 Level zynqmp-dma - 39: 0 0 0 0 GICv2 113 Level zynqmp-dma - 40: 0 0 0 0 GICv2 114 Level zynqmp-dma - 41: 0 0 0 0 GICv2 115 Level zynqmp-dma - 42: 0 0 0 0 GICv2 116 Level zynqmp-dma - 43: 0 0 0 0 GICv2 154 Level fd4c0000.dma-controller - 44: 5938 0 0 0 GICv2 47 Level ff0f0000.spi - 45: 110 0 0 0 GICv2 95 Level eth0, eth0 - 46: 0 0 0 0 GICv2 57 Level axi-pmon, axi-pmon - 47: 4802 0 0 0 GICv2 49 Level cdns-i2c - 48: 501 0 0 0 GICv2 50 Level cdns-i2c - 50: 0 0 0 0 GICv2 84 Edge ff150000.watchdog - 51: 0 0 0 0 GICv2 151 Level fd4a0000.display - 52: 548 0 0 0 GICv2 81 Level mmc0 - 53: 0 0 0 0 GICv2 165 Level ahci-ceva[fd0c0000.ahci] - 54: 0 0 0 0 GICv2 97 Level xhci-hcd:usb1 - 55: 0 0 0 0 zynq-gpio 22 Edge sw19 - 59: 0 0 0 0 gpio-xilinx 4 Edge PL_GPIO_PB_SW9_N - 60: 0 0 0 0 gpio-xilinx 3 Edge PL_GPIO_PB_SW12_E - 61: 0 0 0 0 gpio-xilinx 2 Edge PL_GPIO_PB_SW13_S - 62: 0 0 0 0 gpio-xilinx 1 Edge PL_GPIO_PB_SW10_W - 63: 0 0 0 0 gpio-xilinx 0 Edge PL_GPIO_PB_SW11_C - 64: 0 0 0 0 gpio-xilinx 7 Edge PL_GPIO_DIP_SW7 - 65: 0 0 0 0 gpio-xilinx 6 Edge PL_GPIO_DIP_SW6 - 66: 0 0 0 0 gpio-xilinx 5 Edge PL_GPIO_DIP_SW5 - 67: 0 0 0 0 gpio-xilinx 4 Edge PL_GPIO_DIP_SW4 - 68: 0 0 0 0 gpio-xilinx 3 Edge PL_GPIO_DIP_SW3 - 69: 0 0 0 0 gpio-xilinx 2 Edge PL_GPIO_DIP_SW2 - 70: 0 0 0 0 gpio-xilinx 1 Edge PL_GPIO_DIP_SW1 - 71: 0 0 0 0 gpio-xilinx 0 Edge PL_GPIO_DIP_SW0 -IPI0: 64 25 87 38 Rescheduling interrupts -IPI1: 2066 6747 1212 5791 Function call interrupts -IPI2: 0 0 0 0 CPU stop interrupts -IPI3: 0 0 0 0 CPU stop (for crash dump) interrupts -IPI4: 0 0 0 0 Timer broadcast interrupts -IPI5: 0 0 0 0 IRQ work interrupts -IPI6: 0 0 0 0 CPU wake-up interrupts -Err: 0 -yocto-zynqmp-generic-20231:/home/petalinux# cat /proc/interrupts - CPU0 CPU1 CPU2 CPU3 - 11: 28169 27725 29250 30190 GICv2 30 Level arch_timer - 14: 0 0 0 0 GICv2 67 Level zynqmp_ipi - 15: 0 0 0 0 GICv2 175 Level arm-pmu - 16: 0 0 0 0 GICv2 176 Level arm-pmu - 17: 0 0 0 0 GICv2 177 Level arm-pmu - 18: 0 0 0 0 GICv2 178 Level arm-pmu - 19: 0 0 0 0 GICv2 58 Level ffa60000.rtc - 20: 0 0 0 0 GICv2 59 Level ffa60000.rtc - 21: 0 0 0 0 GICv2 42 Level ff960000.memory-controller - 22: 0 0 0 0 GICv2 88 Level ams-irq - 23: 0 0 0 0 GICv2 155 Level axi-pmon, axi-pmon - 24: 603 0 0 0 GICv2 53 Level xuartps - 27: 0 0 0 0 GICv2 156 Level zynqmp-dma - 28: 0 0 0 0 GICv2 157 Level zynqmp-dma - 29: 0 0 0 0 GICv2 158 Level zynqmp-dma - 30: 0 0 0 0 GICv2 159 Level zynqmp-dma - 31: 0 0 0 0 GICv2 160 Level zynqmp-dma - 32: 0 0 0 0 GICv2 161 Level zynqmp-dma - 33: 0 0 0 0 GICv2 162 Level zynqmp-dma - 34: 0 0 0 0 GICv2 163 Level zynqmp-dma - 35: 0 0 0 0 GICv2 109 Level zynqmp-dma - 36: 0 0 0 0 GICv2 110 Level zynqmp-dma - 37: 0 0 0 0 GICv2 111 Level zynqmp-dma - 38: 0 0 0 0 GICv2 112 Level zynqmp-dma - 39: 0 0 0 0 GICv2 113 Level zynqmp-dma - 40: 0 0 0 0 GICv2 114 Level zynqmp-dma - 41: 0 0 0 0 GICv2 115 Level zynqmp-dma - 42: 0 0 0 0 GICv2 116 Level zynqmp-dma - 43: 0 0 0 0 GICv2 154 Level fd4c0000.dma-controller - 44: 5938 0 0 0 GICv2 47 Level ff0f0000.spi - 45: 134 0 0 0 GICv2 95 Level eth0, eth0 - 46: 0 0 0 0 GICv2 57 Level axi-pmon, axi-pmon - 47: 4802 0 0 0 GICv2 49 Level cdns-i2c - 48: 501 0 0 0 GICv2 50 Level cdns-i2c - 50: 0 0 0 0 GICv2 84 Edge ff150000.watchdog - 51: 0 0 0 0 GICv2 151 Level fd4a0000.display - 52: 548 0 0 0 GICv2 81 Level mmc0 - 53: 0 0 0 0 GICv2 165 Level ahci-ceva[fd0c0000.ahci] - 54: 0 0 0 0 GICv2 97 Level xhci-hcd:usb1 - 55: 0 0 0 0 zynq-gpio 22 Edge sw19 - 59: 2 0 0 0 gpio-xilinx 4 Edge PL_GPIO_PB_SW9_N - 60: 4 0 0 0 gpio-xilinx 3 Edge PL_GPIO_PB_SW12_E - 61: 2 0 0 0 gpio-xilinx 2 Edge PL_GPIO_PB_SW13_S - 62: 2 0 0 0 gpio-xilinx 1 Edge PL_GPIO_PB_SW10_W - 63: 2 0 0 0 gpio-xilinx 0 Edge PL_GPIO_PB_SW11_C - 64: 2 0 0 0 gpio-xilinx 7 Edge PL_GPIO_DIP_SW7 - 65: 2 0 0 0 gpio-xilinx 6 Edge PL_GPIO_DIP_SW6 - 66: 4 0 0 0 gpio-xilinx 5 Edge PL_GPIO_DIP_SW5 - 67: 2 0 0 0 gpio-xilinx 4 Edge PL_GPIO_DIP_SW4 - 68: 2 0 0 0 gpio-xilinx 3 Edge PL_GPIO_DIP_SW3 - 69: 2 0 0 0 gpio-xilinx 2 Edge PL_GPIO_DIP_SW2 - 70: 2 0 0 0 gpio-xilinx 1 Edge PL_GPIO_DIP_SW1 - 71: 2 0 0 0 gpio-xilinx 0 Edge PL_GPIO_DIP_SW0 -IPI0: 64 26 87 38 Rescheduling interrupts -IPI1: 2163 6791 1243 5866 Function call interrupts -IPI2: 0 0 0 0 CPU stop interrupts -IPI3: 0 0 0 0 CPU stop (for crash dump) interrupts -IPI4: 0 0 0 0 Timer broadcast interrupts -IPI5: 0 0 0 0 IRQ work interrupts -IPI6: 0 0 0 0 CPU wake-up interrupts -Err: 0 -yocto-zynqmp-generic-20231:/home/petalinux# -``` ---- - -### Unloading PL bitstream or pdi and dt overlay -* Zynq or ZynqMP -``` -yocto-zynqmp-generic-20231:/home/petalinux# fpgautil -R -``` -* Versal (DFx RP) -``` -root@yocto-vck190-dfx-2023:~# fpgautil -R -n PR0 -``` -* Versal (DFx Static) -``` -root@yocto-vck190-dfx-2023:~# fpgautil -R -n Full -``` ---- - -## References -* https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841645/Solution+Zynq+PL+Programming+With+FPGA+Manager -* https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841847/Solution+ZynqMP+PL+Programming -* https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/1188397412/Solution+Versal+PL+Programming -- cgit v1.2.3-54-g00ecf From 1b802c4678324bb2be521122247e23a0f8c9b16d Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 24 Nov 2023 12:51:24 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_5891 zynqmp_pmufw: Update the value of DEFAULT_SECTIONS_NUM macro zynqmp_pmufw: update release version to 2024.1 pciepsu: Update mdd version pciepsu: Fix BAR allocation to consider maximum size of BAR region pceipsu: Fix macro declaration for header type mask pciepsu: Fix the BAR allocation in pciepsu driver based on endpoint request v_axi4s_remap: Example design application v_axi4s_remap: Added Decoupling flow support in driver sources v_axi4s_remap: Added Yaml file for decoupling flow. xilpm: versal_net: client: Use self suspend in cpuidle callback xilpm: versal_common: server: add restart timer handler xilpm: versal_common: server: Mark core as pending power down xilpm: versal_common: server: Add new state for indicating CPU off xilpm: versal_common: server: remove check for is core up xilpm: versal_common: server: skip force power down of cores qspipsu: Add support for IS25LP02G ISSI flash part --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index f703a6ab..4b69946f 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "44440f8794c46c2fd6be0582cc8e432eedf6be66" +ESW_REV[2024.1] = "ca5a8225f1105d64a66ed1e99b98f7b8635faf39" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From dc96fb5006d1026a7f34a49d702cd15c0c281531 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 24 Nov 2023 12:52:57 +0530 Subject: linux-xlnx : Updated SRCREV for 2024.1_8795 dmaengine: xilinx: use correct enum for dma_data_direction Revert "spi: increase timeout value for spi transfers" Revert "arm: zynq: Suspend support" firmware: xilinx: Export function to use in other module Revert "usb: xhci: wait for at least 1ms after exiting U3" Revert "usb: dwc3: Fix the broken suspend/resume functionality in dwc3" dt-bindings: net: cdns,macb: Remove cdns,versal-gem compatible string Revert "dt-bindings: clock: versal: Correct example dts" Revert "fpga: zynq: Fix incorrect variable type" --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index d0f14099..2feba710 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.1.0" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.1;destsuffix=yocto-kmeta" KBRANCH="master" -SRCREV = "63b551930a788f1a2c8240b476bbe9064cf3febf" +SRCREV = "536560487e01435c58c154220f23a6cde2f605af" SRCREV_meta = "185bcfcbe480c742247d9117011794c69682914f" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From 5093663b5061647b1fe076fdbafb029704f348f8 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 24 Nov 2023 20:27:21 +0530 Subject: arm-trusted-firmware : Updated SRCREV for 2024.1_1455 Merge "docs(changelog): changelog for v2.10 release" into integration docs(changelog): changelog for v2.10 release Merge "Revert "docs(changelog): changelog for v2.10 release"" into integration Revert "docs(changelog): changelog for v2.10 release" Merge "docs(threat-model): add a threat model for TF-A with Arm CCA" into integration Merge "refactor(tc): deprecate Arm TC1 FVP platform" into integration Merge "docs(changelog): changelog for v2.10 release" into integration refactor(tc): deprecate Arm TC1 FVP platform docs(changelog): changelog for v2.10 release Merge changes from topic "hm/rt-instr" into integration Merge "docs: add a section for experimental build options" into integration docs: add a section for experimental build options docs(juno): update PSCI instrumentation data docs(n1sdp): update N1SDP PSCI instrumentation data docs(threat-model): add a threat model for TF-A with Arm CCA --- .../recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb index 690dcf3b..5cfb9c2c 100644 --- a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb +++ b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb @@ -1,5 +1,5 @@ ATF_VERSION = "3.0" -SRCREV = "4281d02f6e58ca1398ce81242aa54f20d394e190" +SRCREV = "b6c0948400594e3cc4dbb5a4ef04b815d2675808" BRANCH = "xlnx_rebase_v3.0" LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031" -- cgit v1.2.3-54-g00ecf From 55266551333e54519e92b617316cf6cb1c7b1956 Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Mon, 27 Nov 2023 12:30:10 +0530 Subject: Updated Commit ID yocto_machine.py: adding template dt machine Signed-off-by: Siva Addepalli --- meta-xilinx-core/gen-machine-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf index 588fb654..76b712ab 160000 --- a/meta-xilinx-core/gen-machine-conf +++ b/meta-xilinx-core/gen-machine-conf @@ -1 +1 @@ -Subproject commit 588fb65418f0201765c8d5081c177feaad44c479 +Subproject commit 76b712abb3f1ebb0cb1ef46fed7c5109999c6ef7 -- cgit v1.2.3-54-g00ecf From f4bc57354945289bdd340932febfa75c82031b99 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 27 Nov 2023 18:45:09 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_9983 misc: usb5744: Prevent the HUB from suspend mode --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index d7d3aeee..4d03e294 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2023.01" UBRANCH = "master" -SRCREV = "7b0217dc71bfb4f4496ee4e8f00d2252909d01a8" +SRCREV = "68108101a0d9beffdb087c5c57df614aebbea589" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From 3a96777f172ff154f35d8c207c0bfc0769b5560f Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 27 Nov 2023 18:51:13 +0530 Subject: linux-xlnx : Updated SRCREV for 2024.1_1759 w1: Add AXI 1-wire host driver for AMD programmable logic IP core dt-bindings: w1: Add AMD AXI w1 host and MAINTAINERS entry mtd: spi-nor: issi: Add support for is25lp02g --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index 2feba710..917462a7 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.1.0" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.1;destsuffix=yocto-kmeta" KBRANCH="master" -SRCREV = "536560487e01435c58c154220f23a6cde2f605af" +SRCREV = "29f08ddffe28c57866089e85870cc4a5270663c8" SRCREV_meta = "185bcfcbe480c742247d9117011794c69682914f" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From 8779771b6d06ca430631b599057145f863c7fea6 Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Tue, 21 Nov 2023 12:45:42 +0530 Subject: Updated SRCREV of dfx-mgr for 2024.1_8623 dfx_mgr: allow symbolic links to firmware dir Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb index 3a38c1c3..84db457e 100644 --- a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb +++ b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb @@ -9,7 +9,7 @@ BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != ' SRC_URI = "${REPO};${BRANCHARG}" BRANCH = "master" -SRCREV = "1805513bfd834f78f74c84d1ed35a3016b3bb0fd" +SRCREV = "0f2299ede2159ee8c56c88d1b0387f47106dc642" SOMAJOR = "1" SOMINOR = "0" SOVERSION = "${SOMAJOR}.${SOMINOR}" -- cgit v1.2.3-54-g00ecf From f4e375a0ec3de082a43cfc05eea139382e98de3e Mon Sep 17 00:00:00 2001 From: Ben Levinsky Date: Tue, 21 Nov 2023 13:47:00 -0800 Subject: meta-xilinx-standalone-experimental: Add libmetal bbappend Add libmetal bbappend for SDT Standalone targets Signed-off-by: Ben Levinsky Signed-off-by: Mark Hatle --- .../recipes-openamp/libmetal/libmetal-xlnx_%.bbappend | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 meta-xilinx-standalone-experimental/recipes-openamp/libmetal/libmetal-xlnx_%.bbappend diff --git a/meta-xilinx-standalone-experimental/recipes-openamp/libmetal/libmetal-xlnx_%.bbappend b/meta-xilinx-standalone-experimental/recipes-openamp/libmetal/libmetal-xlnx_%.bbappend new file mode 100644 index 00000000..c80c2ff0 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-openamp/libmetal/libmetal-xlnx_%.bbappend @@ -0,0 +1,11 @@ +SRCREV = "00fd771adc7adaed664ed6c5bc3d48d25856fe5c" +REPO = "git://github.com/Xilinx/libmetal.git;protocol=https" +BRANCH = "xlnx_rel_v2023.2" +SRCBRANCH = "${BRANCH}" +PV = "${SRCBRANCH}+git${SRCPV}" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=f4d5df0f12dcea1b1a0124219c0dbab4" + +IMPL = "" +IMPL:xilinx-standalone = "${LAYER_PATH_openamp-layer}/vendor/xilinx/meta-xilinx-standalone-experimental/recipes-openamp/libmetal/libmetal-xlnx-standalone.inc" +IMPL:xilinx-freertos = "${LAYER_PATH_openamp-layer}/vendor/xilinx/meta-xilinx-standalone-experimental/recipes-openamp/libmetal/libmetal-xlnx-standalone.inc" +require ${IMPL} -- cgit v1.2.3-54-g00ecf From 235caca8696471fb400e02a9bf43fbe40c37276b Mon Sep 17 00:00:00 2001 From: saumya garg Date: Wed, 22 Nov 2023 14:11:38 +0530 Subject: xrt, zocl: Update commit id Changelog: Remove use of typeid (#7808) Fix divide by zero exception when collecting usage metrics (#7805) VITIS-10045 - add prototype (#7790) CR-1181478 Fix reports for AIE and AIESHIM (#7801) VITIS-9941 Separate Alveo and Ryzen reports (#7784) Fix for call repo mirror worflow (#7804) PR to trigger enterprise XRT pipeline using github actions (#7794) Fix coverity scan issues (#7797) Add hybrid access to xrt::fence for cross-adapter sharing (#7800) Changes to XDP Plugin metadata parsing (#7798) VITIS-9991 - Removing boost::any (#7795) Add hybrid access to xrt::ext:bo (#7796) VITIS-10034 Add Usage metrics for all XRT objects (#7788) AIE profile/trace updates (#7781) remove 1x4.xclbin dependency (#7792) Amend #7773 to add back missing include (#7793) Adding a flag o and m (#7791) Add inline specifier to xrt::ini::set(const string&, unsigned int) (#7789) Moving petalinux to 2024.1 version (#7786) VITIS-9909 Bundle AIE microbenchmarks with xbutil validate (#7770) VITIS-9987 xbutil : IPU specific enhancements (#7773) Feature/mariner updates to 202220 2 14 354 (#7775) (#7783) VTITIS-9990 - Removing boost::filesystem P4 (#7785) VTITIS-9990 - Removing boost::filesystem P3 (#7782) VTITIS-9990 - Removing boost::filesystem P2 (#7780) Signed-off-by: saumya garg Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-xrt/xrt/xrt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc index 8d1deb20..d66de000 100644 --- a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc @@ -3,7 +3,7 @@ BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != ' SRC_URI = "${REPO};${BRANCHARG};name=xrt" BRANCH= "master" -SRCREV_xrt = "5618b3317573d5a555b6f8789e549a28657fd9d9" +SRCREV_xrt = "5a45c158a3584c52c886486a1069cadcd6b9e970" PV = "202320.2.16.0" SRC_URI += "git://github.com/Xilinx/dma_ip_drivers.git;branch=master;name=dma_ip_drivers;destsuffix=git/src/runtime_src/core/pcie/driver/linux/xocl/lib/libqdma;protocol=https" -- cgit v1.2.3-54-g00ecf From 111638a5cda0e6691b743683b857d3c9c7f17fc8 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Wed, 22 Nov 2023 22:13:22 -0700 Subject: xilinx-standalone.inc: Set default libmetal provider Signed-off-by: Mark Hatle --- meta-xilinx-standalone/conf/distro/xilinx-standalone.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/conf/distro/xilinx-standalone.inc b/meta-xilinx-standalone/conf/distro/xilinx-standalone.inc index 814cb9cd..27c19081 100644 --- a/meta-xilinx-standalone/conf/distro/xilinx-standalone.inc +++ b/meta-xilinx-standalone/conf/distro/xilinx-standalone.inc @@ -25,8 +25,8 @@ COMPATIBLE_HOST ?= "${COMPATOS}" # Clear defaults PREFERRED_PROVIDER_virtual/kernel = "linux-dummy" +PREFERRED_PROVIDER_libmetal = "libmetal-xlnx" -PREFERRED_VERSION_libmetal-xlnx = "${@'standalone' if 'xilinx-standalone-exp' in d.getVar('BBFILE_COLLECTIONS').split() else ''}" PREFERRED_VERSION_open-amp-xlnx = "${@'standalone' if 'xilinx-standalone-exp' in d.getVar('BBFILE_COLLECTIONS').split() else ''}" # Workaround for pulling in nativesdk-mingw-w64-winpthreads -- cgit v1.2.3-54-g00ecf From 90b73cde7c7d9f051900c4409cd06c3d5c8bd5d6 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Wed, 22 Nov 2023 22:13:48 -0700 Subject: u-boot-tools: Fix typo in bbappend Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools%.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools%.bbappend b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools%.bbappend index 65b6ad9d..8df497db 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools%.bbappend +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools%.bbappend @@ -1,5 +1,5 @@ # Skip processing of this recipe if it is not explicitly specified as the -# PREFERRED_PROVIDER for libmetal. This avoids network access required by +# PREFERRED_PROVIDER for u-boot-tools. This avoids network access required by # the use of AUTOREV SRCREVs, which may be the default for some recipes. python () { if bb.data.inherits_class('native', d): -- cgit v1.2.3-54-g00ecf From a02c5b648b92a92218ae307c84b9621c5c9b2225 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 28 Nov 2023 16:47:28 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_6087 xilplmi: implemented user modules drivers: Fixed source code-format issue. drivers: Fix compilation errors reported with -std=c2x compiler flag lib: bsp: standalone: Enhance the ability to generate XPAR_CPU_ID definitions based on the reg property in the SDT flow freertos: Move the selection of config parameters for stdin and stdout into a separate header xilpm:versal_net: subsystem ipimask restore --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 4b69946f..adf3e270 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "ca5a8225f1105d64a66ed1e99b98f7b8635faf39" +ESW_REV[2024.1] = "25f0dc91e02944c8db08d1efa9fe801f5ec00753" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 68d4d747700b5d12efb3e156188738299f8f41ba Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 29 Nov 2023 12:52:22 +0530 Subject: aie-rt : Updated SRCREV for 2024.1_8839 Update send-email.yml --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index 8927a504..772f363f 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "main-aie" -SRCREV ?= "ad66823f72bfe0b65280e981e2d55f457af91e69" +SRCREV ?= "0a70952c12f368c3b8fdeb50687022122c4e6647" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From cef3bde0286df491c26d6cc9389be346256c5262 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 29 Nov 2023 15:16:48 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_8163 scripts: pyesw: build_app: Update link libraries for freertos xilpm: versal_net: server: VID support xilpm: versal_common: server: Allow any I2C controller to control power rails xilpm: versal_common: server: Issue all I2C commands for a power level change --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index adf3e270..ebe645ff 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "25f0dc91e02944c8db08d1efa9fe801f5ec00753" +ESW_REV[2024.1] = "84076fce0e641a8ab9fa3bc896fc83e3b15bcf67" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 849165e3cab7b85bd7498d1d8132d5b63c915719 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 29 Nov 2023 16:56:46 +0530 Subject: linux-xlnx : Updated SRCREV for 2024.1_4055 mtd: spi-nor: winbond: Add flash lock/unlock support to w25q256jwm Revert "arm64: zynqmp: Add the fclk node" --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index 917462a7..d7d265c2 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.1.0" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.1;destsuffix=yocto-kmeta" KBRANCH="master" -SRCREV = "29f08ddffe28c57866089e85870cc4a5270663c8" +SRCREV = "67cbad98fd5905419bc0130c2b1521b5d8140794" SRCREV_meta = "185bcfcbe480c742247d9117011794c69682914f" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From 884600268c99d06e58c2156601321aa5e2468816 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Thu, 30 Nov 2023 17:20:06 -0600 Subject: Revert "embeddedsw : Updated SRCREV for 2024.1_8163" This reverts commit cef3bde0286df491c26d6cc9389be346256c5262. SDT workflow builds are broken. Signed-off-by: Mark Hatle --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index ebe645ff..adf3e270 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "84076fce0e641a8ab9fa3bc896fc83e3b15bcf67" +ESW_REV[2024.1] = "25f0dc91e02944c8db08d1efa9fe801f5ec00753" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From d0f870c26f8ed55dc9db9e43addf3707b5a7f302 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Thu, 30 Nov 2023 17:20:21 -0600 Subject: Revert "embeddedsw : Updated SRCREV for 2024.1_6087" This reverts commit a02c5b648b92a92218ae307c84b9621c5c9b2225. SDT workflows are broken. Signed-off-by: Mark Hatle --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index adf3e270..4b69946f 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "25f0dc91e02944c8db08d1efa9fe801f5ec00753" +ESW_REV[2024.1] = "ca5a8225f1105d64a66ed1e99b98f7b8635faf39" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 1ae3f3ed9ebfb40c247005dfd0a3e9787a967657 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 1 Dec 2023 14:58:26 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_6927 versal-net-*: matching node names with platform dtsi --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index 4d03e294..6aa82af7 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2023.01" UBRANCH = "master" -SRCREV = "68108101a0d9beffdb087c5c57df614aebbea589" +SRCREV = "105f84aaaad619256dbd5840a8b805a29f487340" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From 05f5cba600c16cc6d78a00916e79d334c6c5cea1 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 1 Dec 2023 16:24:46 +0530 Subject: linux-xlnx : Updated SRCREV for 2024.1_1611 usb: misc: usb5744: prevent the HUB from suspend mode versal-net-*: matching node names with platform dtsi xilinx: Convert MODULE_LICENSE GPL v2 to GPL --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index d7d265c2..b4d1625c 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.1.0" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.1;destsuffix=yocto-kmeta" KBRANCH="master" -SRCREV = "67cbad98fd5905419bc0130c2b1521b5d8140794" +SRCREV = "5ec5995dba491e4352a88687a7fdafb6641428cf" SRCREV_meta = "185bcfcbe480c742247d9117011794c69682914f" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From e749ada4fa0aba143eab8654b8f95804ffb7ba27 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 1 Dec 2023 18:30:57 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_6567 lib: ARMv8: add Xil_MemMap() Xilsem:Enable XILSEM_ENABLE_SSIT macro using tcl lib: bsp: standalone: src: Fix race condition in yocto flow dp21rxss: Add support for system device-tree flow. dp21rxss: Add support for system device-tree flow dp21txss: Add support for system device-tree flow dp21txss: Add support for system device-tree flow dp21: Add support for system device-tree flow dp21: Add support for system device-tree flow lwip: Remove PMC/PSM/PMU entries from the processor lists of all LwIP components lib: Add Versal Net specific processors wherever missing scripts: pyesw: build_app: Update link libraries for freertos xilpm: versal_net: server: VID support xilpm: versal_common: server: Allow any I2C controller to control power rails xilpm: versal_common: server: Issue all I2C commands for a power level change xilplmi: implemented user modules drivers: Fixed source code-format issue. drivers: Fix compilation errors reported with -std=c2x compiler flag lib: bsp: standalone: Enhance the ability to generate XPAR_CPU_ID definitions based on the reg property in the SDT flow freertos: Move the selection of config parameters for stdin and stdout into a separate header xilpm:versal_net: subsystem ipimask restore --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 4b69946f..c0e7dbe7 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "ca5a8225f1105d64a66ed1e99b98f7b8635faf39" +ESW_REV[2024.1] = "cecc2ff6d66a8fae4ff5232f85e2b1ae9b015add" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 6d33e41671d453c8195b59c64ca5086f8af40b3d Mon Sep 17 00:00:00 2001 From: John Toomey Date: Thu, 23 Nov 2023 11:33:22 +0000 Subject: freeipmi: Fix typo in git repo URL Signed-off-by: John Toomey Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-support/freeipmi/freeipmi_1.6.10.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-support/freeipmi/freeipmi_1.6.10.bb b/meta-xilinx-core/recipes-support/freeipmi/freeipmi_1.6.10.bb index 7beb0f5e..d365653c 100644 --- a/meta-xilinx-core/recipes-support/freeipmi/freeipmi_1.6.10.bb +++ b/meta-xilinx-core/recipes-support/freeipmi/freeipmi_1.6.10.bb @@ -30,7 +30,7 @@ LIC_FILES_CHKSUM = " \ BRANCH ?= "freeipmi-1-6-0-stable" SRC_URI = " \ - git://git.savannah.gnu.org/freeipmi.git;iprotocol=https;branch=${BRANCH} \ + git://git.savannah.gnu.org/freeipmi.git;protocol=https;branch=${BRANCH} \ " SRCREV ?= "816a69eb15a9034351381211d9cd15de81da10c7" -- cgit v1.2.3-54-g00ecf From ff613528d40072d9ab66b053fa8a19f4afabd70c Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Wed, 29 Nov 2023 12:47:20 +0530 Subject: Updated SRCREV of vcu-firmware for 2024.1_1623 chore: update to revision d20230920 Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb index e62e0dcd..f80aff27 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb @@ -10,7 +10,7 @@ S = "${WORKDIR}/git" BRANCH ?= "master" REPO ?= "git://github.com/Xilinx/vcu-firmware.git;protocol=https" -SRCREV = "08e091d2a5c8332b5c9996a79c1e335d4a608f88" +SRCREV = "5382db287f02c0d95f2b7ee5f00b4d825915a01b" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" -- cgit v1.2.3-54-g00ecf From 1c9a94e16e5eeca3fc2b55b745579f47b1874344 Mon Sep 17 00:00:00 2001 From: Akshay Belsare Date: Thu, 23 Nov 2023 15:54:23 +0530 Subject: arm-trusted-firmware: update branch and version for 2024.x The upstream release versioning is changed from v3.0 to v2.10. Last upstream revision was v2.9. Refer to: https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git/commit/?h=integration&id=2226b4533c5f1a331f1893b2b3ff09a59c0041dd Updating the TF-A (aka ATF) branch to xlnx_rebase_v2.10 and release version to v2.10 Signed-off-by: Akshay Belsare Also change the PREFERRED_VERSION to 2.10. Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/layer.conf | 2 +- .../recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-xilinx-core/conf/layer.conf b/meta-xilinx-core/conf/layer.conf index 60b709dd..6b5ae6d5 100644 --- a/meta-xilinx-core/conf/layer.conf +++ b/meta-xilinx-core/conf/layer.conf @@ -56,7 +56,7 @@ PREFERRED_VERSION_qemu-devicetrees ?= "xilinx-${XILINX_RELEASE_VERSION}%" XILINX_ATF_VERSION[v2023.1] = "2.8-xilinx-v2023.1%" XILINX_ATF_VERSION[v2023.2] = "2.8-xilinx-v2023.2%" -XILINX_ATF_VERSION[v2024.1] = "3.0-xilinx-v2024.1%" +XILINX_ATF_VERSION[v2024.1] = "2.10-xilinx-v2024.1%" PREFERRED_VERSION_arm-trusted-firmware ?= "${@d.getVarFlag('XILINX_ATF_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" XILINX_UBOOT_VERSION[v2023.1] = "v2023.01-xilinx-v2023.1%" diff --git a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb index 5cfb9c2c..e65f7042 100644 --- a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb +++ b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb @@ -1,6 +1,6 @@ -ATF_VERSION = "3.0" +ATF_VERSION = "2.10" SRCREV = "b6c0948400594e3cc4dbb5a4ef04b815d2675808" -BRANCH = "xlnx_rebase_v3.0" +BRANCH = "xlnx_rebase_v2.10" LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031" -- cgit v1.2.3-54-g00ecf From 0d5a959566ae818adfe1922e61e9869e364b3126 Mon Sep 17 00:00:00 2001 From: Ben Levinsky Date: Sun, 26 Nov 2023 16:01:21 -0800 Subject: open-amp: device-tree: Add split mode cores for Versal-Net and ZynqMP Signed-off-by: Ben Levinsky Signed-off-by: Mark Hatle --- .../device-tree/files/versal-net-openamp.dtsi | 55 ++++++++++++++++++++- .../device-tree/files/zynqmp-openamp.dtsi | 56 ++++++++++++++++++++++ 2 files changed, 110 insertions(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/versal-net-openamp.dtsi b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/versal-net-openamp.dtsi index 694a2fd0..d5b339a3 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/versal-net-openamp.dtsi +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/versal-net-openamp.dtsi @@ -28,6 +28,24 @@ no-map; reg = <0x0 0x3ed48000 0x0 0x100000>; }; + + rproc_1_reserved: rproc@3ef00000 { + no-map; + reg = <0x0 0x3ef00000 0x0 0x40000>; + }; + rpu1vdev0vring0: rpu1vdev0vring0@3ef40000 { + no-map; + reg = <0x0 0x3ef40000 0x0 0x4000>; + }; + rpu1vdev0vring1: rpu1vdev0vring1@3ef44000 { + no-map; + reg = <0x0 0x3ef44000 0x0 0x4000>; + }; + rpu1vdev0buffer: rpu1vdev0buffer@3ef48000 { + no-map; + compatible = "shared-dma-pool"; + reg = <0x0 0x3ef48000 0x0 0x100000>; + }; }; tcm_0a: tcm_0a@eba00000 { @@ -54,6 +72,30 @@ power-domain = <&versal_net_firmware 0x183180cd>; }; + tcm_1a: tcm_0a@eba40000 { + no-map; + reg = <0x0 0xeba40000 0x0 0x10000>; + status = "okay"; + compatible = "mmio-sram"; + power-domain = <&versal_net_firmware 0x183180ce>; + }; + + tcm_1b: tcm_0b@eba50000 { + no-map; + reg = <0x0 0xeba50000 0x0 0x8000>; + status = "okay"; + compatible = "mmio-sram"; + power-domain = <&versal_net_firmware 0x183180cf>; + }; + + tcm_1c: tcm_0b@eba60000 { + no-map; + reg = <0x0 0xeba60000 0x0 0x8000>; + status = "okay"; + compatible = "mmio-sram"; + power-domain = <&versal_net_firmware 0x183180d0>; + }; + r52ss { compatible = "xlnx,versal-net-r52-remoteproc"; #address-cells = <0x2>; @@ -72,7 +114,18 @@ mboxes = <&ipi_mailbox_rpu0 0>, <&ipi_mailbox_rpu0 1>; mbox-names = "tx", "rx"; }; - }; + r52_1 { + compatible = "xilinx,r52"; + #address-cells = <0x2>; + #size-cells = <0x2>; + ranges; + sram = <&tcm_1a>, <&tcm_1b>, <&tcm_1c>; + memory-region = <&rproc_1_reserved>, &rpu1vdev0buffer>, <&rpu1vdev0vring0>, <&rpu1vdev0vring1>; + power-domain = <&versal_net_firmware 0x181100C0>; + mboxes = <&ipi_mailbox_rpu0 0>, &ipi_mailbox_rpu0 1>; + mbox-names = "tx", "rx"; + }; + }; zynqmp_ipi1 { compatible = "xlnx,zynqmp-ipi-mailbox"; diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/zynqmp-openamp.dtsi b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/zynqmp-openamp.dtsi index c8a60d81..d0040ee3 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/zynqmp-openamp.dtsi +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/zynqmp-openamp.dtsi @@ -28,6 +28,23 @@ no-map; reg = <0x0 0x3ed00000 0x0 0x40000>; }; + rpu1vdev0vring0: rpu0vdev0vring0@3ef40000 { + no-map; + reg = <0x0 0x3ef40000 0x0 0x4000>; + }; + rpu1vdev0vring1: rpu0vdev0vring1@3ef44000 { + no-map; + reg = <0x0 0x3ef44000 0x0 0x4000>; + }; + rpu1vdev0buffer: rpu0vdev0buffer@3ef48000 { + no-map; + reg = <0x0 0x3ef48000 0x0 0x100000>; + }; + rproc_1_reserved: rproc@3ef00000 { + no-map; + reg = <0x0 0x3ef00000 0x0 0x40000>; + }; + }; tcm_0a: tcm_0a@ffe00000 { @@ -45,7 +62,21 @@ compatible = "mmio-sram"; power-domain = <&zynqmp_firmware 16>; }; + tcm_1a: tcm_0a@ffe90000 { + no-map; + reg = <0x0 0xffe90000 0x0 0x10000>; + status = "okay"; + compatible = "mmio-sram"; + power-domain = <&zynqmp_firmware 17>; + }; + tcm_1b: tcm_0b@ffeb0000 { + no-map; + reg = <0x0 0xffeb0000 0x0 0x10000>; + status = "okay"; + compatible = "mmio-sram"; + power-domain = <&zynqmp_firmware 18>; + }; rf5ss@ff9a0000 { compatible = "xlnx,zynqmp-r5-remoteproc"; xlnx,cluster-mode = <1>; @@ -65,6 +96,18 @@ mboxes = <&ipi_mailbox_rpu0 0>, <&ipi_mailbox_rpu0 1>; mbox-names = "tx", "rx"; }; + r5f_1: r5f@1 { + compatible = "xilinx,r5f"; + #address-cells = <2>; + #size-cells = <2>; + ranges; + sram = <&tcm_1a>, <&tcm_1b>; + memory-region = <&rproc_1_reserved>, <&rpu1vdev0buffer>, <&rpu1vdev0vring0>, <&rpu1vdev0vring1>; + power-domain = <&zynqmp_firmware 8>; + mboxes = <&ipi_mailbox_rpu1 0>, <&ipi_mailbox_rpu1 1>; + mbox-names = "tx", "rx"; + }; + }; zynqmp_ipi1 { @@ -89,5 +132,18 @@ #mbox-cells = <1>; xlnx,ipi-id = <1>; }; + /* APU<->RPU1 IPI mailbox controller */ + ipi_mailbox_rpu1: mailbox@ff990640 { + reg = <0xff990640 0x20>, + <0xff990660 0x20>, + <0xff9902c0 0x20>, + <0xff9902e0 0x20>; + reg-names = "local_request_region", + "local_response_region", + "remote_request_region", + "remote_response_region"; + #mbox-cells = <1>; + xlnx,ipi-id = <2>; + }; }; }; -- cgit v1.2.3-54-g00ecf From bf21a209288b4a56a948138e556c0db4c82958cb Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 5 Dec 2023 18:20:43 +0530 Subject: qemu : Updated SRCREV for 2024.1_2251 efuse-ctrl: Program extidcode xlnx-efuse: Add handlers to program extidcode --- meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc index 44a9137b..009450fd 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc @@ -1,3 +1,3 @@ XILINX_QEMU_VERSION = "v7.1.0" BRANCH = "master" -SRCREV = "d596f4e4309ba11c94fda415df212b1573e520e8" +SRCREV = "928f27d17acdc23c158ba223ba85b9df9eea7dc5" -- cgit v1.2.3-54-g00ecf From 62954a0c706b16560cf5370d2163ac68ab29e5eb Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 5 Dec 2023 18:20:07 +0530 Subject: arm-trusted-firmware : Updated SRCREV for 2024.1_2763 fix(xilinx): update correct return types fix(xilinx): add FIT image check in DT console fix(xilinx): add FIT image check in prepare_dtb xilinx: Add a github template telling people to not use pull requests there --- .../recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb index e65f7042..5bef2ef5 100644 --- a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb +++ b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb @@ -1,5 +1,5 @@ ATF_VERSION = "2.10" -SRCREV = "b6c0948400594e3cc4dbb5a4ef04b815d2675808" +SRCREV = "dd26a89661af9517b6cf4a58acb5874bc514c755" BRANCH = "xlnx_rebase_v2.10" LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031" -- cgit v1.2.3-54-g00ecf From 8de16ef1489074882a6eb009c6db8d513b01e619 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 5 Dec 2023 18:25:50 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_6875 openamp: Fix depends_libs syntax scripts: pyesw: Add the ability to pull dependencies for libraries scripts: pyesw: create_bsp: Fix the race condition in the toolchain mapping for the Soft Microblaze processor xilloader: fixed SD macro to handle both flows in emmc boot xilpm: versal_net: server: Disable dynamic CCI/SMMU handling feature xilpm:versal_net: skip SRST handler during PLM update Xilsem:Added client interface for A78 baremetal applications. bsp: standalone: Update the note description for sleep_MB sw_services:xilpuf:Added header file required for SDT flow xilpm:versal_net: increase ByteBuffer size ospipsv: Add support for MX66UM2G45G Macronix flash part qspipsu: data: Add nand examples in dependency and yaml file --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index c0e7dbe7..eca47ca4 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "cecc2ff6d66a8fae4ff5232f85e2b1ae9b015add" +ESW_REV[2024.1] = "ae0e298047a09736b8370c4cee3db686568efbf0" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From ca2973b5682078d479e63de0acab0c4182993fc4 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 5 Dec 2023 18:27:57 +0530 Subject: dts : Updated SRCREV for 2024.1_9003 versal-pmc-sec: Init extidcode bits versal-net: Add IDCODE for versal-net device versal: Update IDCODES for few of the versal devices --- meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb index e0d6bf99..d837b9a5 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb @@ -2,5 +2,5 @@ require qemu-devicetrees.inc BRANCH ?= "master" -SRCREV ?= "d1013382d9a5ef816cd020e7840813b7a2d65c51" +SRCREV ?= "a1810b130c115b003d80c825eebdf0cb9ea3a2a6" -- cgit v1.2.3-54-g00ecf From 3b7854a17865f0b95b769ded393242921d9624b3 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 6 Dec 2023 12:54:59 +0530 Subject: linux-xlnx : Updated SRCREV for 2024.1_4551 misc: xilinx-ai-engine: Fix bug in checking adev->clk pointer Revert "net: axienet: Remove unnecessary phy defines" Revert "net: xilinx: axiethernet: Reduce the width of variable to handle overflow" dt-bindings: net: xlnx,axi-ethernet: Add high speed ethernet MAC IPs support dt-bindings: net: xlnx,axi-ethernet: Add coherency and non-processor mode support for 1G/2.5G MAC dt-bindings: net: xlnx,axi-ethernet: convert bindings document to yaml dt-bindings: net: axienet: Remove TSN binding reference Revert "PCI: XDMA PL PCIe: Adding XDMA PL PCIe Root Port" PCI: xilinx-xdma: Add Xilinx XDMA Root Port driver dt-bindings: PCI: xilinx-xdma: Add YAML schemas for Xilinx XDMA PCIe Root Port Bridge PCI: xilinx-cpm: Move interrupt bit definitions to common header misc: trm-inject: Sync driver and binding with upstream version misc: tmr-manager: Sync driver and binding with upstream version --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index b4d1625c..d533667e 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.1.0" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.1;destsuffix=yocto-kmeta" KBRANCH="master" -SRCREV = "5ec5995dba491e4352a88687a7fdafb6641428cf" +SRCREV = "630189d068befb935945a8447468c5dd04d12623" SRCREV_meta = "185bcfcbe480c742247d9117011794c69682914f" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From be357be4139df9f0db6d46f8c36a618e0f84bf97 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 7 Dec 2023 19:39:29 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_1959 sw-apps:memory_tests: exclude memory regions. Revert "xilloader: fixed SD macro to handle both flows in emmc boot" sw_services: Replace Xil_SMemSet with Xil_SecureZeroize for critical parameters pciepsu: Add properties to support SDT flow for Endpoint driver lib: bsp: standalone: Add the config option Standalone_Enable_Minimal_XLAT_TABLE in the system device tree flow xilpm: versal: server: add support for HBM CATTRIP notification --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index eca47ca4..96b34d0d 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "ae0e298047a09736b8370c4cee3db686568efbf0" +ESW_REV[2024.1] = "b74224f59aa272ec5962fb7763ebf9d8edeca415" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From bdb477ca1283638e886fb582620bd5fd5d73d544 Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Fri, 8 Dec 2023 12:30:11 +0530 Subject: Updated Commit ID Renamed u-boot offset naming option and removed BL33 error check Signed-off-by: Siva Addepalli --- meta-xilinx-core/gen-machine-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf index 76b712ab..53d708d5 160000 --- a/meta-xilinx-core/gen-machine-conf +++ b/meta-xilinx-core/gen-machine-conf @@ -1 +1 @@ -Subproject commit 76b712abb3f1ebb0cb1ef46fed7c5109999c6ef7 +Subproject commit 53d708d50b9354963d932cba7a03f2b5f18145c6 -- cgit v1.2.3-54-g00ecf From f38e1f1245582fa89c83d44fa51eb08b6c42d505 Mon Sep 17 00:00:00 2001 From: John Toomey Date: Tue, 5 Dec 2023 09:56:03 +0000 Subject: freeipmi: Update SRCURI git URL Signed-off-by: John Toomey Signed-off-by: Mark Hatle (cherry picked from commit 622005cc1b0428be1e108c54b20d302b6ab30aca) Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-support/freeipmi/freeipmi_1.6.10.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-support/freeipmi/freeipmi_1.6.10.bb b/meta-xilinx-core/recipes-support/freeipmi/freeipmi_1.6.10.bb index d365653c..0da7b6f6 100644 --- a/meta-xilinx-core/recipes-support/freeipmi/freeipmi_1.6.10.bb +++ b/meta-xilinx-core/recipes-support/freeipmi/freeipmi_1.6.10.bb @@ -30,7 +30,7 @@ LIC_FILES_CHKSUM = " \ BRANCH ?= "freeipmi-1-6-0-stable" SRC_URI = " \ - git://git.savannah.gnu.org/freeipmi.git;protocol=https;branch=${BRANCH} \ + git://git.savannah.gnu.org/git/freeipmi.git;protocol=https;branch=${BRANCH} \ " SRCREV ?= "816a69eb15a9034351381211d9cd15de81da10c7" -- cgit v1.2.3-54-g00ecf From 9461f910a0b4415941d2bbac4406b37236d0a6de Mon Sep 17 00:00:00 2001 From: Jonathan Stroud Date: Tue, 5 Dec 2023 08:19:48 -0700 Subject: dfx-mgr: Update dfx-mgr to pull in systemd-notify patches Signed-off-by: Jonathan Stroud -- CR: CR-1172157 Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.2.bb | 4 ++-- meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.2.bb b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.2.bb index 0d24c9fc..d09ab51e 100644 --- a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.2.bb +++ b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2023.2.bb @@ -9,7 +9,7 @@ BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != ' SRC_URI = "${REPO};${BRANCHARG}" BRANCH = "xlnx_rel_v2023.2" -SRCREV = "4dbd33accb043bd92ecbec2a3507f85a22045c51" +SRCREV = "898fe38023d15d54402c788bcbca67a29eb2dc3d" SOMAJOR = "1" SOMINOR = "0" SOVERSION = "${SOMAJOR}.${SOMINOR}" @@ -22,7 +22,7 @@ S = "${WORKDIR}/git" inherit cmake update-rc.d systemd -DEPENDS += " libwebsockets inotify-tools libdfx zocl libdrm" +DEPENDS += " libwebsockets inotify-tools libdfx zocl libdrm systemd" RDEPENDS:${PN} += " freeipmi" EXTRA_OECMAKE += " \ -DCMAKE_SYSROOT:PATH=${RECIPE_SYSROOT} \ diff --git a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb index 84db457e..372e9df4 100644 --- a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb +++ b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb @@ -9,7 +9,7 @@ BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != ' SRC_URI = "${REPO};${BRANCHARG}" BRANCH = "master" -SRCREV = "0f2299ede2159ee8c56c88d1b0387f47106dc642" +SRCREV = "898fe38023d15d54402c788bcbca67a29eb2dc3d" SOMAJOR = "1" SOMINOR = "0" SOVERSION = "${SOMAJOR}.${SOMINOR}" @@ -22,7 +22,7 @@ S = "${WORKDIR}/git" inherit cmake update-rc.d systemd -DEPENDS += " libwebsockets inotify-tools libdfx zocl libdrm" +DEPENDS += " libwebsockets inotify-tools libdfx zocl libdrm systemd" RDEPENDS:${PN} += " freeipmi" EXTRA_OECMAKE += " \ -DCMAKE_SYSROOT:PATH=${RECIPE_SYSROOT} \ -- cgit v1.2.3-54-g00ecf From 9b391bbaf9ed0b83a493f20e48594a1c1e3004ce Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Thu, 30 Nov 2023 22:07:47 -0700 Subject: classes: Move classes to match bbclass scope functionality Move classes to classes-global or classes-recipe as appropriate to match bbclass scope functionality. Below is the list. classes-recipe: (inherited by recipes) amd_spi_image.bbclass dfx_user_dts.bbclass image-wic-utils.bbclass kernel-simpleimage.bbclass qemuboot-xilinx.bbclass xilinx-fetch-restricted.bbclass xilinx-platform-init.bbclass classes-global: (inherited globally) xilinx-microblaze.bbclass classes: (usage context is not clearly defined) gen-machine-conf.bbclass image-types-xilinx-qemu.bbclass xilinx-testimage.bbclass xilinx-vars.bbclass xilinx-deprecated.bbclass Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- .../classes-global/xilinx-microblaze.bbclass | 11 + .../classes-recipe/amd_spi_image.bbclass | 142 +++++++++++ .../classes-recipe/dfx_user_dts.bbclass | 267 +++++++++++++++++++++ .../classes-recipe/image-wic-utils.bbclass | 54 +++++ .../classes-recipe/kernel-simpleimage.bbclass | 35 +++ .../classes-recipe/qemuboot-xilinx.bbclass | 140 +++++++++++ .../classes-recipe/xilinx-fetch-restricted.bbclass | 35 +++ .../classes-recipe/xilinx-platform-init.bbclass | 14 ++ meta-xilinx-core/classes/amd_spi_image.bbclass | 142 ----------- meta-xilinx-core/classes/dfx_user_dts.bbclass | 267 --------------------- meta-xilinx-core/classes/image-wic-utils.bbclass | 54 ----- .../classes/kernel-simpleimage.bbclass | 35 --- meta-xilinx-core/classes/qemuboot-xilinx.bbclass | 140 ----------- .../classes/xilinx-fetch-restricted.bbclass | 35 --- meta-xilinx-core/classes/xilinx-microblaze.bbclass | 11 - .../classes/xilinx-platform-init.bbclass | 14 -- 16 files changed, 698 insertions(+), 698 deletions(-) create mode 100644 meta-xilinx-core/classes-global/xilinx-microblaze.bbclass create mode 100644 meta-xilinx-core/classes-recipe/amd_spi_image.bbclass create mode 100644 meta-xilinx-core/classes-recipe/dfx_user_dts.bbclass create mode 100644 meta-xilinx-core/classes-recipe/image-wic-utils.bbclass create mode 100644 meta-xilinx-core/classes-recipe/kernel-simpleimage.bbclass create mode 100644 meta-xilinx-core/classes-recipe/qemuboot-xilinx.bbclass create mode 100644 meta-xilinx-core/classes-recipe/xilinx-fetch-restricted.bbclass create mode 100644 meta-xilinx-core/classes-recipe/xilinx-platform-init.bbclass delete mode 100644 meta-xilinx-core/classes/amd_spi_image.bbclass delete mode 100644 meta-xilinx-core/classes/dfx_user_dts.bbclass delete mode 100644 meta-xilinx-core/classes/image-wic-utils.bbclass delete mode 100644 meta-xilinx-core/classes/kernel-simpleimage.bbclass delete mode 100644 meta-xilinx-core/classes/qemuboot-xilinx.bbclass delete mode 100644 meta-xilinx-core/classes/xilinx-fetch-restricted.bbclass delete mode 100644 meta-xilinx-core/classes/xilinx-microblaze.bbclass delete mode 100644 meta-xilinx-core/classes/xilinx-platform-init.bbclass diff --git a/meta-xilinx-core/classes-global/xilinx-microblaze.bbclass b/meta-xilinx-core/classes-global/xilinx-microblaze.bbclass new file mode 100644 index 00000000..ed231a3a --- /dev/null +++ b/meta-xilinx-core/classes-global/xilinx-microblaze.bbclass @@ -0,0 +1,11 @@ +# Class to add a deprecated warning from various configuration files. + +# Immediately after the ConfigParsed event handler, warn the user of any +# deprecated files the user has used. +addhandler xilinx_microblaze_config_eventhandler +xilinx_microblaze_config_eventhandler[eventmask] = "bb.event.ConfigParsed" +python xilinx_microblaze_config_eventhandler () { + if d.getVar('DEFAULTTUNE').startswith('microblaze'): + if 'xilinx-microblaze' not in d.getVar('BBFILE_COLLECTIONS').split(): + bb.fatal('You must include the meta-microblaze layer to build for this configuration.') +} diff --git a/meta-xilinx-core/classes-recipe/amd_spi_image.bbclass b/meta-xilinx-core/classes-recipe/amd_spi_image.bbclass new file mode 100644 index 00000000..ed4c1f87 --- /dev/null +++ b/meta-xilinx-core/classes-recipe/amd_spi_image.bbclass @@ -0,0 +1,142 @@ +# +# Copyright (C) 2023, Advanced Micro Devices, Inc. All rights reserved. +# +# SPDX-License-Identifier: MIT +# + +QSPI_SIZE ?= "0x2280000" + +# Register values +IDN_REG ?= "0x4D554241" +VERSION_REG ?= "0x1" +LENGTH_REG ?= "0x4" +PERSISTENT_REG ?= "0x01010000" + +# QSPI Offsets +IMAGE_SELECTOR_OFFSET ?= "0x0" +IMAGE_SELECTOR_BACKUP_OFFSET ?= "0x80000" +PERSISTENT_REG_OFFSET ?= "0x100000" +PERSISTENT_REG_BACKUP_OFFSET ?= "0x120000" +IMAGE_A_OFFSET ?= "0x200000" +IMAGE_A_IMGSEL_OFFSET ?= "0xF00000" +IMAGE_B_OFFSET ?= "0xF80000" +IMAGE_B_IMGSEL_OFFSET ?= "0x1C80000" +IMAGE_RCVRY_OFFSET ?= "0x1E00000" +IMAGE_RCVRY_BACKUP_OFFSET ?= "0x2000000" +VERSION_OFFSET ?= "0x2240000" +CHECKSUM_OFFSET ?= "0x2250000" + +def generate_spi_image(d): + + import io + import hashlib + import time + + qspi_size = int(d.getVar("QSPI_SIZE") or '0', 0) + int(d.getVar("QSPI_SIZE") or '0', 0) + + # Register values + idn_reg = int(d.getVar("IDN_REG") or '0', 0) + version_reg = int(d.getVar("VERSION_REG") or '0', 0) + length_reg = int(d.getVar("LENGTH_REG") or '0', 0) + persistent_reg = int(d.getVar("PERSISTENT_REG") or '0', 0) + + # QSPI Offsets + image_selector_offset = int(d.getVar("IMAGE_SELECTOR_OFFSET") or '0', 0) + image_selector_backup_offset = int(d.getVar("IMAGE_SELECTOR_BACKUP_OFFSET") or '0', 0) + persistent_reg_offset = int(d.getVar("PERSISTENT_REG_OFFSET") or '0', 0) + persistent_reg_backup_offset = int(d.getVar("PERSISTENT_REG_BACKUP_OFFSET") or '0', 0) + image_a_offset = int(d.getVar("IMAGE_A_OFFSET") or '0', 0) + image_a_imgsel_offset = int(d.getVar("IMAGE_A_IMGSEL_OFFSET") or '0', 0) + image_b_offset = int(d.getVar("IMAGE_B_OFFSET") or '0', 0) + image_b_imgsel_offset = int(d.getVar("IMAGE_B_IMGSEL_OFFSET") or '0', 0) + image_rcvry_offset = int(d.getVar("IMAGE_RCVRY_OFFSET") or '0', 0) + image_rcvry_backup_offset = int(d.getVar("IMAGE_RCVRY_BACKUP_OFFSET") or '0', 0) + version_offset = int(d.getVar("VERSION_OFFSET") or '0', 0) + checksum_offset = int(d.getVar("CHECKSUM_OFFSET") or '0', 0) + + # QSPI data + qspi_data = io.BytesIO() + qspi_data.write(b'\xFF' * qspi_size) + + # Image Selector - Primary, Backup, Image A and Image B + imgsel_file = d.getVar("DEPLOY_DIR_IMAGE")+"/imgsel-"+d.getVar("MACHINE")+".bin" + try: + with open(imgsel_file, "rb") as il: + imgsel = il.read(-1) + except OSError as err: + bb.fatal("Unable to open imgsel file: " + str(err)) + + qspi_data.seek(image_selector_offset) + qspi_data.write(imgsel) + qspi_data.seek(image_selector_backup_offset) + qspi_data.write(imgsel) + qspi_data.seek(image_a_imgsel_offset) + qspi_data.write(imgsel) + qspi_data.seek(image_b_imgsel_offset) + qspi_data.write(imgsel) + + # Persistent Registers - Primary and Backup + p_reg = [idn_reg, version_reg, length_reg, persistent_reg, \ + image_a_offset, image_b_offset, image_rcvry_offset] + checksum = 0xffffffff - (0xffffffff & sum(p_reg)) + p_reg.insert(3, checksum) + + qspi_data.seek(persistent_reg_offset) + for value in p_reg: + qspi_data.write(value.to_bytes(4, byteorder="little")) + + qspi_data.seek(persistent_reg_backup_offset) + for value in p_reg: + qspi_data.write(value.to_bytes(4, byteorder="little")) + + # Image A and B - boot.bin + try: + with open(d.getVar("DEPLOY_DIR_IMAGE")+"/boot.bin", "rb") as bo: + bootbin = bo.read(-1) + except OSError as err: + bb.fatal("Unable to open boot.bin file: " + str(err)) + + qspi_data.seek(image_a_offset) + qspi_data.write(bootbin) + qspi_data.seek(image_b_offset) + qspi_data.write(bootbin) + + # Recovery Image & Recovery Image Backup + imgrcry_file = d.getVar("DEPLOY_DIR_IMAGE")+"/imgrcry-"+d.getVar("MACHINE")+".bin" + try: + with open(imgrcry_file, "rb") as iy: + imgrcry = iy.read(-1) + except OSError as err: + bb.fatal("Unable to open imgrcry file: " + str(err)) + + qspi_data.seek(image_rcvry_offset) + qspi_data.write(imgrcry) + qspi_data.seek(image_rcvry_backup_offset) + qspi_data.write(imgrcry) + + # Version string and checksum + version = d.getVar("QSPI_IMAGE_VERSION") + date = time.strftime("%m%d%H%M") + machine = d.getVar("MACHINE")[:3] + image_name = d.getVar("QSPI_IMAGE_NAME") + + qspi_version = f"{image_name}-{machine}-v{version}-{date}\x00" + qspi_data.seek(version_offset) + qspi_data.write(qspi_version.encode()) + + qspi_sha = hashlib.sha256(qspi_data.getbuffer()) + qspi_data.seek(checksum_offset) + qspi_data.write(qspi_sha.digest()) + + # Write the QSPI data to file + with open(d.getVar("B") + "/" + d.getVar("IMAGE_NAME") + ".bin", "wb") as sq: + sq.write(qspi_data.getbuffer()) + +do_compile[depends] += "virtual/boot-bin:do_deploy virtual/imgsel:do_deploy virtual/imgrcry:do_deploy" + +python amd_spi_image_do_compile() { + generate_spi_image(d) +} + +EXPORT_FUNCTIONS do_compile diff --git a/meta-xilinx-core/classes-recipe/dfx_user_dts.bbclass b/meta-xilinx-core/classes-recipe/dfx_user_dts.bbclass new file mode 100644 index 00000000..4404aa05 --- /dev/null +++ b/meta-xilinx-core/classes-recipe/dfx_user_dts.bbclass @@ -0,0 +1,267 @@ +# This bbclass is inherited by flat, DFx Static and DFx RP firmware recipes. +# dfx_user_dts.bbclass expects user to generate pl dtsi for flat, DFx Static +# and DFx RP xsa outside of yocto. + +inherit devicetree + +DEPENDS = "dtc-native bootgen-native" + +# recipes that inherit from this class need to use an appropriate machine +# override for COMPATIBLE_MACHINE to build successfully; don't allow building +# for microblaze MACHINE +COMPATIBLE_MACHINE ?= "^$" +COMPATIBLE_MACHINE:microblaze = "^$" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +PROVIDES = "" + +do_fetch[cleandirs] = "${B}" + +DT_PADDING_SIZE = "0x1000" +BOOTGEN_FLAGS ?= " -arch ${SOC_FAMILY} -w ${@bb.utils.contains('SOC_FAMILY','zynqmp','','-process_bitstream bin',d)}" + +S ?= "${WORKDIR}" +FW_DIR ?= "" +DTSI_PATH ?= "" +DTBO_PATH ?= "" +DT_FILES_PATH = "${S}/${DTSI_PATH}" +FIRMWARE_NAME_DT_FILE ?= "" +USER_DTS_FILE ?= "" + +FIRMWARE_NAME_DT_FILE[doc] = "DT file which has firmware-name device-tree property" +USER_DTS_FILE[doc] = "Final DTSI or DTS file which is used for packaging final DT overlay" + +python() { + import re + soc_family = d.getVar("SOC_FAMILY") + if "git://" in d.getVar("SRC_URI") or "https://" in d.getVar("SRC_URI"): + d.setVar("S",'${WORKDIR}/git/'+d.getVar("FW_DIR")) + else: + dtsi_found = False + dtbo_found = False + bit_found = False + bin_found = False + pdi_found = False + + # Required Inputs + if '.dtsi' in d.getVar("SRC_URI") or '.dts' in d.getVar("SRC_URI"): + dtsi_found = True + d.setVar("DTSI_PATH",os.path.dirname([a for a in d.getVar('SRC_URI').split() if '.dtsi' in a or '.dts' in a][0].lstrip('file://'))) + + if '.dtbo' in d.getVar("SRC_URI"): + dtbo_found = True + d.setVar("DTBO_PATH",os.path.dirname([a for a in d.getVar('SRC_URI').split() if '.dtbo' in a][0].lstrip('file://'))) + + if '.bit' in d.getVar("SRC_URI") and soc_family != "versal": + bit_found = True + d.setVar("BIT_PATH",os.path.dirname([a for a in d.getVar('SRC_URI').split() if '.bit' in a][0].lstrip('file://'))) + + if '.bin' in d.getVar("SRC_URI") and soc_family != "versal": + bin_found = True + d.setVar("BIT_PATH",os.path.dirname([a for a in d.getVar('SRC_URI').split() if '.bin' in a][0].lstrip('file://'))) + + if '.pdi' in d.getVar("SRC_URI") and soc_family == "versal": + pdi_found = True + d.setVar("PDI_PATH",os.path.dirname([a for a in d.getVar('SRC_URI').split() if '.pdi' in a][0].lstrip('file://'))) + + # Check for valid combination of input files in SRC_URI + if dtsi_found or dtbo_found: + bb.debug(2, "dtsi or dtbo found in SRC_URI") + if bit_found or pdi_found or bin_found: + bb.debug(2, "bitstream or pdi found in SRC_URI") + elif bit_found and bin_found: + raise bb.parse.SkipRecipe("Both '.bit' and '.bin' file found in SRC_URI, either .bit or .bin file is supported but not both.") + else: + raise bb.parse.SkipRecipe("Need one '.bit' or one '.pdi' file added to SRC_URI ") + else: + raise bb.parse.SkipRecipe("Need one '.dtsi' or one '.dtbo' file added to SRC_URI ") + + # Check for valid combination of dtsi and dts files in SRC_URI + # Following file combinations are not supported use case. + # 1. More than one '.dtsi' and zero '.dts' file. + # 2. More than one '.dts' and zero or more than one '.dtsi'file . + pattern_dts = re.compile(r'[.]+dts\b') + pattern_dtsi = re.compile(r'[.]+dtsi\b') + dts_count = len([*re.finditer(pattern_dts, d.getVar('SRC_URI'))]) + dtsi_count = len([*re.finditer(pattern_dtsi, d.getVar("SRC_URI"))]) + + if dtsi_count > 1 and dts_count == 0: + raise bb.parse.SkipRecipe("Recipe has more than one '.dtsi' and zero '.dts' found, this is an unsupported use case") + elif dts_count > 1: + raise bb.parse.SkipRecipe("Recipe has more than one '.dts' and zero or more than one '.dtsi' found, this is an unsupported use case") + + # Optional input + if '.json' in d.getVar("SRC_URI"): + d.setVar("JSON_PATH",os.path.dirname([a for a in d.getVar('SRC_URI').split() if '.json' in a][0].lstrip('file://'))) + + if '.xclbin' in d.getVar("SRC_URI"): + d.setVar("XCL_PATH",os.path.dirname([a for a in d.getVar('SRC_URI').split() if '.xclbin' in a][0].lstrip('file://'))) +} + +# Function to get dts or dtsi file count. +def get_dt_count(d, dt_ext): + import glob + dt_count = sum(1 for f in glob.iglob((d.getVar('S') + (d.getVar('DTSI_PATH')) + '/*.' + dt_ext),recursive=True) if os.path.isfile(f)) + return dt_count + +# Function to search for dt firmware-name property in dts or dtsi file. +python find_firmware_file() { + import glob + pattern_fw = 'firmware-name' + search_count = 0 + for dt_files in glob.iglob((d.getVar('S') + (d.getVar('DTSI_PATH')) + '/*.dts*'),recursive=True): + with open(dt_files, "r") as f: + current_fd = f.read() + if pattern_fw in current_fd: + search_count += 1 + if search_count > 1: + bb.error("firmware-name dt property found in more than one dt files! Please fix the dts or dtsi file.") + break + else: + d.setVar('FIRMWARE_NAME_DT_FILE', os.path.basename(dt_files)) +} + +do_configure[prefuncs] += "find_firmware_file" + +python do_configure() { + import glob, re, shutil + soc_family = d.getVar("SOC_FAMILY") + + if bb.utils.contains('MACHINE_FEATURES', 'fpga-overlay', False, True, d): + bb.warn("Using fpga-manager.bbclass requires fpga-overlay MACHINE_FEATURE to be enabled") + + # Renaming firmware-name using $PN as bitstream/PDI will be renamed using + # $PN when generating the bin/pdi file. + if os.path.isfile(d.getVar('S') + (d.getVar('DTSI_PATH') or '') + '/' + d.getVar('FIRMWARE_NAME_DT_FILE')): + orig_dtsi = glob.glob(d.getVar('S')+ (d.getVar('DTSI_PATH') or '') + '/' + d.getVar('FIRMWARE_NAME_DT_FILE'))[0] + new_dtsi = d.getVar('S') + '/pl.dtsi_firmwarename' + with open(new_dtsi, 'w') as newdtsi: + with open(orig_dtsi) as olddtsi: + for line in olddtsi: + if soc_family == 'versal': + newdtsi.write(re.sub('firmware-name.*\".*\"','firmware-name = \"'+d.getVar('PN')+'.pdi\"',line)) + else: + newdtsi.write(re.sub('firmware-name.*\".*\"','firmware-name = \"'+d.getVar('PN')+'.bit.bin\"',line)) + shutil.move(new_dtsi,orig_dtsi) +} + +do_compile[prefuncs] += "find_firmware_file" + +python devicetree_do_compile:append() { + import glob, subprocess, shutil + soc_family = d.getVar("SOC_FAMILY") + + dtbo_count = sum(1 for f in glob.iglob((d.getVar('S') + '/*.dtbo'),recursive=True) if os.path.isfile(f)) + + # Skip devicetree do_compile task if input file is dtbo in SRC_URI + if not dtbo_count: + # Convert .bit to bit.bin format only if dtsi is input. + # In case of dtbo as input, bbclass doesn't know if firmware-name is .bit or + # .bit.bin format and corresponding file name. Hence we are not doing + # bit.bin conversion. + if soc_family != 'versal' and glob.glob(d.getVar('S') + '/' + d.getVar('FIRMWARE_NAME_DT_FILE')): + pn = d.getVar('PN') + biffile = pn + '.bif' + + with open(biffile, 'w') as f: + f.write('all:\n{\n\t' + glob.glob(d.getVar('S')+(d.getVar('BIT_PATH') or '') + '/*.bit')[0] + '\n}') + + bootgenargs = ["bootgen"] + (d.getVar("BOOTGEN_FLAGS") or "").split() + bootgenargs += ["-image", biffile, "-o", pn + ".bit.bin"] + subprocess.run(bootgenargs, check = True) + + # In Zynq7k using both "-process_bitstream bin" and "-o" in bootgen flag, + # to convert bit file to bin format, "-o" option will not be effective + # and generated output file name is ${S}+${BIT_PATH}/.bit.bin + # file, Hence we need to rename this file from .bit.bin to + # ${PN}.bit.bin which matches the firmware name in dtbo and move + # ${PN}.bit.bin to ${B} directory. + if soc_family == 'zynq': + src_bitbin_file = glob.glob(d.getVar('S') + (d.getVar('BIT_PATH') or '') + '/*.bit.bin')[0] + dst_bitbin_file = d.getVar('B') + '/' + pn + '.bit.bin' + shutil.move(src_bitbin_file, dst_bitbin_file) + + if not os.path.isfile(pn + ".bit.bin"): + bb.fatal("Couldn't find %s file, Enable '-log trace' in BOOTGEN_FLAGS" \ + "and check bootgen_log.txt" % (d.getVar('B') + '/' + pn + '.bit.bin')) +} + +# If user inputs both dtsi and dts files then device-tree will generate dtbo +# files for each dt file, Hence to package the firmware pick the right user dt +# overlay file. +python find_user_dts_overlay_file() { + import glob + dtbo_count = sum(1 for f in glob.iglob((d.getVar('S') + '/*.dtbo'),recursive=True) if os.path.isfile(f)) + # Skip if input file is dtbo in SRC_URI + if not dtbo_count: + dts_count = get_dt_count(d, 'dts') + dtsi_count = get_dt_count(d, 'dtsi') + if dtsi_count == 1 and dts_count == 0: + dts_file =glob.glob(d.getVar('S')+ (d.getVar('DTSI_PATH') or '') + '/*.dtsi')[0] + elif dtsi_count >=0 and dts_count == 1: + dts_file = glob.glob(d.getVar('S')+ (d.getVar('DTSI_PATH') or '') + '/*.dts')[0] + + d.setVar('USER_DTS_FILE', os.path.splitext(os.path.basename(dts_file))[0]) +} + +do_install[prefuncs] += "find_user_dts_overlay_file" + +do_install() { + install -d ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/ + + # In case of dtbo as input, dtbo will be copied from directly from ${S} + # In case of dtsi as input, dtbo will be copied from directly from ${B} + if [ `ls ${S}/*.dtbo | wc -l` -eq 1 ]; then + install -Dm 0644 ${S}/*.dtbo ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/ + elif [ `ls ${S}/*.dtbo | wc -l` -gt 1 ]; then + bbfatal "Multiple DTBO found, use the right DTBO in SRC_URI from the following:\n$(basename -a ${S}/*.dtbo)" + elif [ -f ${B}/${USER_DTS_FILE}.dtbo ]; then + install -Dm 0644 ${B}/${USER_DTS_FILE}.dtbo ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/${PN}.dtbo + else + bbfatal "A dtbo ending '.dtbo' expected but not found" + fi + + if [ "${SOC_FAMILY}" == "versal" ]; then + # In case of dtbo as input, pdi will be copied from directly from ${S} + # without renaming the pdi name to ${PN}.pdi + if [ `ls ${S}/*.pdi | wc -l` -eq 1 ] && [ `ls ${S}/*.dtbo | wc -l` -eq 1 ]; then + install -Dm 0644 ${S}/*.pdi ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/ + elif [ `ls ${S}/*.pdi | wc -l` -gt 1 ]; then + bbfatal "Multiple PDI found, use the right PDI in SRC_URI from the following:\n$(basename -a ${S}/*.pdi)" + elif [ `ls ${S}/*.pdi | wc -l` -eq 1 ] && [ -f ${B}/${USER_DTS_FILE}.dtbo ]; then + install -Dm 0644 ${S}/*.pdi ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/${PN}.pdi + else + bbfatal "A PDI file with '.pdi' expected but not found" + fi + else + # In case of dtbo as input, .bit or .bin will be copied from directly + # from ${S} without renaming the .bit/.bin name to ${PN}.bit/${PN}.bin + # if more than one .bit/.bin file is found then fail the task. + if [ `ls ${S}/*.bit | wc -l` -gt 1 ]; then + bbfatal "Multiple .bit found, use the right .bit in SRC_URI from the following:\n$(basename -a ${S}/*.bit)" + elif [ `ls ${S}/*.bin | wc -l` -gt 1 ]; then + bbfatal "Multiple .bin found, use the right .bin in SRC_URI from the following:\n$(basename -a ${S}/*.bin)" + elif [ `ls ${S}/*.bit | wc -l` -eq 1 ] && [ `ls ${S}/*.dtbo | wc -l` -eq 1 ]; then + install -Dm 0644 ${S}/*.bit ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/ + elif [ `ls ${S}/*.bin | wc -l` -eq 1 ] && [ `ls ${S}/*.dtbo | wc -l` -eq 1 ]; then + install -Dm 0644 ${S}/*.bin ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/ + elif [ -f ${B}/${PN}.bit.bin ] && [ -f ${B}/${USER_DTS_FILE}.dtbo ]; then + install -Dm 0644 ${B}/${PN}.bit.bin ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/${PN}.bit.bin + else + bbfatal "A bitstream file with '.bit' or '.bin' expected but not found" + fi + fi + + if ls ${S}/${XCL_PATH}/*.xclbin >/dev/null 2>&1; then + install -Dm 0644 ${S}/${XCL_PATH}/*.xclbin ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/${PN}.xclbin + fi + + if [ -f ${S}/${JSON_PATH}/shell.json ] || [ -f ${S}/${JSON_PATH}/accel.json ]; then + install -Dm 0644 ${S}/${JSON_PATH}/*.json ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/ + fi +} + +do_deploy[noexec] = "1" + +FILES:${PN} += "${nonarch_base_libdir}/firmware/xilinx/${PN}" diff --git a/meta-xilinx-core/classes-recipe/image-wic-utils.bbclass b/meta-xilinx-core/classes-recipe/image-wic-utils.bbclass new file mode 100644 index 00000000..41ad8148 --- /dev/null +++ b/meta-xilinx-core/classes-recipe/image-wic-utils.bbclass @@ -0,0 +1,54 @@ +# Helper/utility functions to work with the IMAGE_BOOT_FILES variable and its +# expected behvaior with regards to the contents of the DEPLOY_DIR_IMAGE. +# +# The use of these functions assume that the deploy directory is populated with +# any dependent files/etc. Such that the recipe using these functions depends +# on the recipe that provides the files being used/queried. + +def boot_files_split_expand(d): + # IMAGE_BOOT_FILES has extra renaming info in the format ';' + for f in (d.getVar("IMAGE_BOOT_FILES") or "").split(" "): + parts = f.split(";", 1) + sources = [parts[0].strip()] + if "*" in parts[0]: + # has glob part + import glob + deployroot = d.getVar("DEPLOY_DIR_IMAGE") + sources = [] + for i in glob.glob(os.path.join(deployroot, parts[0])): + sources.append(os.path.basename(i)) + + # for all sources, yield an entry + for s in sources: + if len(parts) == 2: + if parts[1].endswith('/'): + yield s, '%s%s' % (parts[1].strip(), s) + else: + yield s, parts[1].strip() + yield s, s + +def boot_files_bitstream(d): + expectedfiles = [("bitstream", True)] + expectedexts = [(".bit", True), (".bin", False)] + # search for bitstream paths, use the renamed file. First matching is used + for source, target in boot_files_split_expand(d): + # skip boot.bin and u-boot.bin, it is not a bitstream + skip = ["boot.bin", "u-boot.bin"] + if source in skip or target in skip: + continue + + for e, t in expectedfiles: + if source == e or target == e: + return target, t + for e, t in expectedexts: + if source.endswith(e) or target.endswith(e): + return target, t + return "", False + +def boot_files_dtb_filepath(d): + dtbs = (d.getVar("IMAGE_BOOT_FILES") or "").split(" ") + for source, target in boot_files_split_expand(d): + if target.endswith(".dtb"): + return target + return "" + diff --git a/meta-xilinx-core/classes-recipe/kernel-simpleimage.bbclass b/meta-xilinx-core/classes-recipe/kernel-simpleimage.bbclass new file mode 100644 index 00000000..110ee254 --- /dev/null +++ b/meta-xilinx-core/classes-recipe/kernel-simpleimage.bbclass @@ -0,0 +1,35 @@ +python __anonymous () { + kerneltypes = set((d.getVar("KERNEL_IMAGETYPE") or "").split()) + kerneltypes |= set((d.getVar("KERNEL_IMAGETYPES") or "").split()) + if any(t.startswith("simpleImage.") for t in kerneltypes): + # Enable building of simpleImage + bb.build.addtask('do_prep_simpleimage', 'do_compile', 'do_configure', d) + uarch = d.getVar("UBOOT_ARCH") + if uarch == "microblaze": + d.appendVarFlag('do_prep_simpleimage', 'depends', ' virtual/dtb:do_populate_sysroot') +} + +do_prep_simpleimage[dirs] += "${B}" +do_prep_simpleimage () { + install -d ${B}/arch/${ARCH}/boot/dts + for type in ${KERNEL_IMAGETYPES} ; do + if [ -z "${type##*simpleImage*}" ] && [ ${ARCH} = "microblaze" ]; then + ext="${type##*.}" + # Microblaze simpleImage only works with dts file + cp ${RECIPE_SYSROOT}/boot/devicetree/${ext}.dts ${B}/arch/${ARCH}/boot/dts/ + fi + done +} + +do_deploy:append () { + for type in ${KERNEL_IMAGETYPES} ; do + if [ -z "${type##*simpleImage*}" ] && [ ${ARCH} = "microblaze" ]; then + base_name=${type}-${KERNEL_IMAGE_NAME} + install -m 0644 ${KERNEL_OUTPUT_DIR}/${type}.strip $deployDir/${base_name}.strip + install -m 0644 ${KERNEL_OUTPUT_DIR}/${type}.unstrip $deployDir/${base_name}.unstrip + symlink_name=${type}-${KERNEL_IMAGE_LINK_NAME} + ln -sf ${base_name}.strip $deployDir/${symlink_name}.strip + ln -sf ${base_name}.unstrip $deployDir/${symlink_name}.unstrip + fi + done +} diff --git a/meta-xilinx-core/classes-recipe/qemuboot-xilinx.bbclass b/meta-xilinx-core/classes-recipe/qemuboot-xilinx.bbclass new file mode 100644 index 00000000..7466ab5e --- /dev/null +++ b/meta-xilinx-core/classes-recipe/qemuboot-xilinx.bbclass @@ -0,0 +1,140 @@ + +# enable the overrides for the context of the conf only +OVERRIDES .= ":qemuboot-xilinx" + +# Default machine targets for Xilinx QEMU (FDT Generic) +# Allow QB_MACHINE to be overridden by a BSP config +QB_MACHINE ?= "${QB_MACHINE_XILINX}" +QB_RNG="" +QB_MACHINE_XILINX:aarch64 = "-machine arm-generic-fdt" +QB_MACHINE_XILINX:arm = "-M arm-generic-fdt-7series" +QB_MACHINE_XILINX:microblaze = "-M microblaze-fdt-plnx" + +QB_SYSTEM_NAME ?= "${@qemu_target_binary(d)}" +QB_DEFAULT_FSTYPE ?= "${@qemu_rootfs_params(d,'fstype')}" +QB_ROOTFS ?= "${@qemu_rootfs_params(d,'rootfs')}" +QB_ROOTFS_OPT ?= "${@qemu_rootfs_params(d,'rootfs-opt')}" +QB_DTB ?= "${@qemu_default_dtb(d)}" + +# defaults +QB_DEFAULT_KERNEL ?= "none" +QB_DEFAULT_KERNEL:zynq ?= "${@'zImage' if \ + d.getVar('INITRAMFS_IMAGE_BUNDLE') != '1' else 'zImage-initramfs-${MACHINE}.bin'}" +QB_DEFAULT_KERNEL:microblaze ?= "${@'simpleImage.mb' if \ + d.getVar('INITRAMFS_IMAGE_BUNDLE') != '1' else 'simpleImage.mb-initramfs-${MACHINE}.bin'}" + +inherit qemuboot + +def qemu_target_binary(data): + package_arch = data.getVar("PACKAGE_ARCH") + qemu_target_binary = (data.getVar("QEMU_TARGET_BINARY_%s" % package_arch) or "") + if qemu_target_binary: + return qemu_target_binary + + target_arch = data.getVar("TARGET_ARCH") + if target_arch == "microblazeeb": + target_arch = "microblaze" + elif target_arch == "aarch64": + target_arch += "-multiarch" + elif target_arch == "arm": + target_arch = "aarch64" + return "qemu-system-%s" % target_arch + +def qemu_add_extra_args(data): + initramfs_image = data.getVar('INITRAMFS_IMAGE') or "" + bundle_image = data.getVar('INITRAMFS_IMAGE_BUNDLE') or "" + deploy_dir = data.getVar('DEPLOY_DIR_IMAGE') or "" + machine_name = data.getVar('MACHINE') or "" + soc_family = data.getVar('SOC_FAMILY') or "" + qb_extra_args = '' + # Add kernel image and boot.scr to qemu boot command when initramfs_image supplied + kernel_name = '' + bootscr_image = '%s/boot.scr' % deploy_dir + if soc_family in ('zynqmp', 'versal'): + kernel_name = 'Image' + bootscr_loadaddr = '0x20000000' + if initramfs_image: + kernel_image = '%s/%s' % (deploy_dir, kernel_name) + if bundle_image == "1": + kernel_image = '%s/%s-initramfs-%s.bin' % (deploy_dir, kernel_name, machine_name) + kernel_loadaddr = '0x200000' + if kernel_name: + qb_extra_args = ' -device loader,file=%s,addr=%s,force-raw=on' % (kernel_image, kernel_loadaddr) + qb_extra_args += ' -device loader,file=%s,addr=%s,force-raw=on' % (bootscr_image, bootscr_loadaddr) + if soc_family == 'versal': + qb_extra_args += ' -boot mode=5' + else: + if soc_family in ('zynqmp', 'versal'): + qb_extra_args = ' -boot mode=5' + return qb_extra_args + +def qemu_rootfs_params(data, param): + initramfs_image = data.getVar('INITRAMFS_IMAGE') or "" + bundle_image = data.getVar('INITRAMFS_IMAGE_BUNDLE') or "" + soc_family = data.getVar('SOC_FAMILY') or "" + tune_features = (data.getVar('TUNE_FEATURES') or []).split() + if 'microblaze' in tune_features: + soc_family = 'microblaze' + soc_variant = data.getVar('SOC_VARIANT') or "" + + if param == 'rootfs': + return 'none' if bundle_image == "1" else '' + + elif param == 'fstype': + fstype_dict = { + "microblaze": "cpio.gz", + "zynq": "cpio.gz", + "zynqmp": "cpio.gz.u-boot", + "versal": "cpio.gz.u-boot.qemu-sd-fatimg" + } + if not initramfs_image: + image_fs = data.getVar('IMAGE_FSTYPES') + if 'wic.qemu-sd' in image_fs: + return 'wic.qemu-sd' + if soc_family not in fstype_dict: + return "" + return fstype_dict[soc_family] + + elif param == 'rootfs-opt': + sd_index = "1" + if soc_family == 'zynq': + sd_index = "0" + if soc_family == 'versal' and soc_variant == 'net': + sd_index = "0" + + # Device is using a disk + if not initramfs_image: + return ' -drive if=sd,index=%s,file=@ROOTFS@,format=raw' % (sd_index) + + # Device is using a ramdisk + if soc_family not in ('zynq', 'microblaze'): + return ' -device loader,file=@ROOTFS@,addr=0x04000000,force-raw=on' + + # Ramdisk must be compiled into the kernel + return '' + +def qemu_default_dtb(data): + if data.getVar("IMAGE_BOOT_FILES", True): + dtbs = data.getVar("IMAGE_BOOT_FILES", True).split(" ") + # IMAGE_BOOT_FILES has extra renaming info in the format ';' + # Note: Wildcard sources work here only because runqemu expands them at run time + dtbs = [f.split(";")[0] for f in dtbs] + dtbs = [f for f in dtbs if f.endswith(".dtb")] + if len(dtbs) != 0: + return dtbs[0] + return "" + +def qemu_default_serial(data): + if data.getVar("SERIAL_CONSOLES", True): + first_console = data.getVar("SERIAL_CONSOLES", True).split(" ")[0] + speed, console = first_console.split(";", 1) + # zynqmp uses earlycon and stdout (in dtb) + if "zynqmp" in data.getVar("MACHINEOVERRIDES", True).split(":"): + return "" + return "console=%s,%s earlyprintk" % (console, speed) + return "" + +def qemu_zynqmp_unhalt(data, multiarch): + if multiarch: + return "-global xlnx,zynqmp-boot.cpu-num=0 -global xlnx,zynqmp-boot.use-pmufw=true" + return "-device loader,addr=0xfd1a0104,data=0x8000000e,data-len=4 -device loader,addr=0xfd1a0104,data=0x8000000e,data-len=4" diff --git a/meta-xilinx-core/classes-recipe/xilinx-fetch-restricted.bbclass b/meta-xilinx-core/classes-recipe/xilinx-fetch-restricted.bbclass new file mode 100644 index 00000000..a778ec7d --- /dev/null +++ b/meta-xilinx-core/classes-recipe/xilinx-fetch-restricted.bbclass @@ -0,0 +1,35 @@ +# This class is setup to override the default fetching for the target recipe. +# When fetching it forces PREMIRROR only fetching so that no attempts are made +# to fetch the Xilinx downloads that are restricted to authenticated users only. +# +# The purpose of this class is to allow for automatation with pre-downloaded +# content or content that is available with curated/user defined pre-mirrors +# and or pre-populated downloads/ directories. + +python do_fetch() { + xilinx_restricted_url = "xilinx.com/member/forms/download" + + src_uri = (d.getVar('SRC_URI') or "").split() + if len(src_uri) == 0: + return + + for i in src_uri: + if xilinx_restricted_url in i: + # force the use of premirrors only, do not attempt download from xilinx.com + d.setVar("BB_FETCH_PREMIRRORONLY", "1") + break + + try: + fetcher = bb.fetch2.Fetch(src_uri, d) + fetcher.download() + except bb.fetch2.NetworkAccess as e: + if xilinx_restricted_url in e.url: + # fatal on access to xilinx.com restricted downloads, print the url for manual download + bb.fatal("The following download cannot be fetched automatically. " \ + "Please manually download the file and place it in the 'downloads' directory (or on an available PREMIRROR).\n" \ + " %s" % (e.url.split(";")[0])) + else: + bb.fatal(str(e)) + except bb.fetch2.BBFetchException as e: + bb.fatal(str(e)) +} diff --git a/meta-xilinx-core/classes-recipe/xilinx-platform-init.bbclass b/meta-xilinx-core/classes-recipe/xilinx-platform-init.bbclass new file mode 100644 index 00000000..99f7863a --- /dev/null +++ b/meta-xilinx-core/classes-recipe/xilinx-platform-init.bbclass @@ -0,0 +1,14 @@ +# This class should be included by any recipe that wants to access or provide +# the platform init source files which are used to initialize a Zynq or ZynqMP +# SoC. + +# Define the path to the xilinx platform init code/headers +PLATFORM_INIT_DIR ?= "/usr/src/xilinx-platform-init" + +PLATFORM_INIT_STAGE_DIR = "${STAGING_DIR_HOST}${PLATFORM_INIT_DIR}" + +# Target files use for platform init +PLATFORM_INIT_FILES ?= "" +PLATFORM_INIT_FILES:zynq = "ps7_init_gpl.c ps7_init_gpl.h" +PLATFORM_INIT_FILES:zynqmp = "psu_init_gpl.c psu_init_gpl.h" + diff --git a/meta-xilinx-core/classes/amd_spi_image.bbclass b/meta-xilinx-core/classes/amd_spi_image.bbclass deleted file mode 100644 index ed4c1f87..00000000 --- a/meta-xilinx-core/classes/amd_spi_image.bbclass +++ /dev/null @@ -1,142 +0,0 @@ -# -# Copyright (C) 2023, Advanced Micro Devices, Inc. All rights reserved. -# -# SPDX-License-Identifier: MIT -# - -QSPI_SIZE ?= "0x2280000" - -# Register values -IDN_REG ?= "0x4D554241" -VERSION_REG ?= "0x1" -LENGTH_REG ?= "0x4" -PERSISTENT_REG ?= "0x01010000" - -# QSPI Offsets -IMAGE_SELECTOR_OFFSET ?= "0x0" -IMAGE_SELECTOR_BACKUP_OFFSET ?= "0x80000" -PERSISTENT_REG_OFFSET ?= "0x100000" -PERSISTENT_REG_BACKUP_OFFSET ?= "0x120000" -IMAGE_A_OFFSET ?= "0x200000" -IMAGE_A_IMGSEL_OFFSET ?= "0xF00000" -IMAGE_B_OFFSET ?= "0xF80000" -IMAGE_B_IMGSEL_OFFSET ?= "0x1C80000" -IMAGE_RCVRY_OFFSET ?= "0x1E00000" -IMAGE_RCVRY_BACKUP_OFFSET ?= "0x2000000" -VERSION_OFFSET ?= "0x2240000" -CHECKSUM_OFFSET ?= "0x2250000" - -def generate_spi_image(d): - - import io - import hashlib - import time - - qspi_size = int(d.getVar("QSPI_SIZE") or '0', 0) - int(d.getVar("QSPI_SIZE") or '0', 0) - - # Register values - idn_reg = int(d.getVar("IDN_REG") or '0', 0) - version_reg = int(d.getVar("VERSION_REG") or '0', 0) - length_reg = int(d.getVar("LENGTH_REG") or '0', 0) - persistent_reg = int(d.getVar("PERSISTENT_REG") or '0', 0) - - # QSPI Offsets - image_selector_offset = int(d.getVar("IMAGE_SELECTOR_OFFSET") or '0', 0) - image_selector_backup_offset = int(d.getVar("IMAGE_SELECTOR_BACKUP_OFFSET") or '0', 0) - persistent_reg_offset = int(d.getVar("PERSISTENT_REG_OFFSET") or '0', 0) - persistent_reg_backup_offset = int(d.getVar("PERSISTENT_REG_BACKUP_OFFSET") or '0', 0) - image_a_offset = int(d.getVar("IMAGE_A_OFFSET") or '0', 0) - image_a_imgsel_offset = int(d.getVar("IMAGE_A_IMGSEL_OFFSET") or '0', 0) - image_b_offset = int(d.getVar("IMAGE_B_OFFSET") or '0', 0) - image_b_imgsel_offset = int(d.getVar("IMAGE_B_IMGSEL_OFFSET") or '0', 0) - image_rcvry_offset = int(d.getVar("IMAGE_RCVRY_OFFSET") or '0', 0) - image_rcvry_backup_offset = int(d.getVar("IMAGE_RCVRY_BACKUP_OFFSET") or '0', 0) - version_offset = int(d.getVar("VERSION_OFFSET") or '0', 0) - checksum_offset = int(d.getVar("CHECKSUM_OFFSET") or '0', 0) - - # QSPI data - qspi_data = io.BytesIO() - qspi_data.write(b'\xFF' * qspi_size) - - # Image Selector - Primary, Backup, Image A and Image B - imgsel_file = d.getVar("DEPLOY_DIR_IMAGE")+"/imgsel-"+d.getVar("MACHINE")+".bin" - try: - with open(imgsel_file, "rb") as il: - imgsel = il.read(-1) - except OSError as err: - bb.fatal("Unable to open imgsel file: " + str(err)) - - qspi_data.seek(image_selector_offset) - qspi_data.write(imgsel) - qspi_data.seek(image_selector_backup_offset) - qspi_data.write(imgsel) - qspi_data.seek(image_a_imgsel_offset) - qspi_data.write(imgsel) - qspi_data.seek(image_b_imgsel_offset) - qspi_data.write(imgsel) - - # Persistent Registers - Primary and Backup - p_reg = [idn_reg, version_reg, length_reg, persistent_reg, \ - image_a_offset, image_b_offset, image_rcvry_offset] - checksum = 0xffffffff - (0xffffffff & sum(p_reg)) - p_reg.insert(3, checksum) - - qspi_data.seek(persistent_reg_offset) - for value in p_reg: - qspi_data.write(value.to_bytes(4, byteorder="little")) - - qspi_data.seek(persistent_reg_backup_offset) - for value in p_reg: - qspi_data.write(value.to_bytes(4, byteorder="little")) - - # Image A and B - boot.bin - try: - with open(d.getVar("DEPLOY_DIR_IMAGE")+"/boot.bin", "rb") as bo: - bootbin = bo.read(-1) - except OSError as err: - bb.fatal("Unable to open boot.bin file: " + str(err)) - - qspi_data.seek(image_a_offset) - qspi_data.write(bootbin) - qspi_data.seek(image_b_offset) - qspi_data.write(bootbin) - - # Recovery Image & Recovery Image Backup - imgrcry_file = d.getVar("DEPLOY_DIR_IMAGE")+"/imgrcry-"+d.getVar("MACHINE")+".bin" - try: - with open(imgrcry_file, "rb") as iy: - imgrcry = iy.read(-1) - except OSError as err: - bb.fatal("Unable to open imgrcry file: " + str(err)) - - qspi_data.seek(image_rcvry_offset) - qspi_data.write(imgrcry) - qspi_data.seek(image_rcvry_backup_offset) - qspi_data.write(imgrcry) - - # Version string and checksum - version = d.getVar("QSPI_IMAGE_VERSION") - date = time.strftime("%m%d%H%M") - machine = d.getVar("MACHINE")[:3] - image_name = d.getVar("QSPI_IMAGE_NAME") - - qspi_version = f"{image_name}-{machine}-v{version}-{date}\x00" - qspi_data.seek(version_offset) - qspi_data.write(qspi_version.encode()) - - qspi_sha = hashlib.sha256(qspi_data.getbuffer()) - qspi_data.seek(checksum_offset) - qspi_data.write(qspi_sha.digest()) - - # Write the QSPI data to file - with open(d.getVar("B") + "/" + d.getVar("IMAGE_NAME") + ".bin", "wb") as sq: - sq.write(qspi_data.getbuffer()) - -do_compile[depends] += "virtual/boot-bin:do_deploy virtual/imgsel:do_deploy virtual/imgrcry:do_deploy" - -python amd_spi_image_do_compile() { - generate_spi_image(d) -} - -EXPORT_FUNCTIONS do_compile diff --git a/meta-xilinx-core/classes/dfx_user_dts.bbclass b/meta-xilinx-core/classes/dfx_user_dts.bbclass deleted file mode 100644 index 4404aa05..00000000 --- a/meta-xilinx-core/classes/dfx_user_dts.bbclass +++ /dev/null @@ -1,267 +0,0 @@ -# This bbclass is inherited by flat, DFx Static and DFx RP firmware recipes. -# dfx_user_dts.bbclass expects user to generate pl dtsi for flat, DFx Static -# and DFx RP xsa outside of yocto. - -inherit devicetree - -DEPENDS = "dtc-native bootgen-native" - -# recipes that inherit from this class need to use an appropriate machine -# override for COMPATIBLE_MACHINE to build successfully; don't allow building -# for microblaze MACHINE -COMPATIBLE_MACHINE ?= "^$" -COMPATIBLE_MACHINE:microblaze = "^$" - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -PROVIDES = "" - -do_fetch[cleandirs] = "${B}" - -DT_PADDING_SIZE = "0x1000" -BOOTGEN_FLAGS ?= " -arch ${SOC_FAMILY} -w ${@bb.utils.contains('SOC_FAMILY','zynqmp','','-process_bitstream bin',d)}" - -S ?= "${WORKDIR}" -FW_DIR ?= "" -DTSI_PATH ?= "" -DTBO_PATH ?= "" -DT_FILES_PATH = "${S}/${DTSI_PATH}" -FIRMWARE_NAME_DT_FILE ?= "" -USER_DTS_FILE ?= "" - -FIRMWARE_NAME_DT_FILE[doc] = "DT file which has firmware-name device-tree property" -USER_DTS_FILE[doc] = "Final DTSI or DTS file which is used for packaging final DT overlay" - -python() { - import re - soc_family = d.getVar("SOC_FAMILY") - if "git://" in d.getVar("SRC_URI") or "https://" in d.getVar("SRC_URI"): - d.setVar("S",'${WORKDIR}/git/'+d.getVar("FW_DIR")) - else: - dtsi_found = False - dtbo_found = False - bit_found = False - bin_found = False - pdi_found = False - - # Required Inputs - if '.dtsi' in d.getVar("SRC_URI") or '.dts' in d.getVar("SRC_URI"): - dtsi_found = True - d.setVar("DTSI_PATH",os.path.dirname([a for a in d.getVar('SRC_URI').split() if '.dtsi' in a or '.dts' in a][0].lstrip('file://'))) - - if '.dtbo' in d.getVar("SRC_URI"): - dtbo_found = True - d.setVar("DTBO_PATH",os.path.dirname([a for a in d.getVar('SRC_URI').split() if '.dtbo' in a][0].lstrip('file://'))) - - if '.bit' in d.getVar("SRC_URI") and soc_family != "versal": - bit_found = True - d.setVar("BIT_PATH",os.path.dirname([a for a in d.getVar('SRC_URI').split() if '.bit' in a][0].lstrip('file://'))) - - if '.bin' in d.getVar("SRC_URI") and soc_family != "versal": - bin_found = True - d.setVar("BIT_PATH",os.path.dirname([a for a in d.getVar('SRC_URI').split() if '.bin' in a][0].lstrip('file://'))) - - if '.pdi' in d.getVar("SRC_URI") and soc_family == "versal": - pdi_found = True - d.setVar("PDI_PATH",os.path.dirname([a for a in d.getVar('SRC_URI').split() if '.pdi' in a][0].lstrip('file://'))) - - # Check for valid combination of input files in SRC_URI - if dtsi_found or dtbo_found: - bb.debug(2, "dtsi or dtbo found in SRC_URI") - if bit_found or pdi_found or bin_found: - bb.debug(2, "bitstream or pdi found in SRC_URI") - elif bit_found and bin_found: - raise bb.parse.SkipRecipe("Both '.bit' and '.bin' file found in SRC_URI, either .bit or .bin file is supported but not both.") - else: - raise bb.parse.SkipRecipe("Need one '.bit' or one '.pdi' file added to SRC_URI ") - else: - raise bb.parse.SkipRecipe("Need one '.dtsi' or one '.dtbo' file added to SRC_URI ") - - # Check for valid combination of dtsi and dts files in SRC_URI - # Following file combinations are not supported use case. - # 1. More than one '.dtsi' and zero '.dts' file. - # 2. More than one '.dts' and zero or more than one '.dtsi'file . - pattern_dts = re.compile(r'[.]+dts\b') - pattern_dtsi = re.compile(r'[.]+dtsi\b') - dts_count = len([*re.finditer(pattern_dts, d.getVar('SRC_URI'))]) - dtsi_count = len([*re.finditer(pattern_dtsi, d.getVar("SRC_URI"))]) - - if dtsi_count > 1 and dts_count == 0: - raise bb.parse.SkipRecipe("Recipe has more than one '.dtsi' and zero '.dts' found, this is an unsupported use case") - elif dts_count > 1: - raise bb.parse.SkipRecipe("Recipe has more than one '.dts' and zero or more than one '.dtsi' found, this is an unsupported use case") - - # Optional input - if '.json' in d.getVar("SRC_URI"): - d.setVar("JSON_PATH",os.path.dirname([a for a in d.getVar('SRC_URI').split() if '.json' in a][0].lstrip('file://'))) - - if '.xclbin' in d.getVar("SRC_URI"): - d.setVar("XCL_PATH",os.path.dirname([a for a in d.getVar('SRC_URI').split() if '.xclbin' in a][0].lstrip('file://'))) -} - -# Function to get dts or dtsi file count. -def get_dt_count(d, dt_ext): - import glob - dt_count = sum(1 for f in glob.iglob((d.getVar('S') + (d.getVar('DTSI_PATH')) + '/*.' + dt_ext),recursive=True) if os.path.isfile(f)) - return dt_count - -# Function to search for dt firmware-name property in dts or dtsi file. -python find_firmware_file() { - import glob - pattern_fw = 'firmware-name' - search_count = 0 - for dt_files in glob.iglob((d.getVar('S') + (d.getVar('DTSI_PATH')) + '/*.dts*'),recursive=True): - with open(dt_files, "r") as f: - current_fd = f.read() - if pattern_fw in current_fd: - search_count += 1 - if search_count > 1: - bb.error("firmware-name dt property found in more than one dt files! Please fix the dts or dtsi file.") - break - else: - d.setVar('FIRMWARE_NAME_DT_FILE', os.path.basename(dt_files)) -} - -do_configure[prefuncs] += "find_firmware_file" - -python do_configure() { - import glob, re, shutil - soc_family = d.getVar("SOC_FAMILY") - - if bb.utils.contains('MACHINE_FEATURES', 'fpga-overlay', False, True, d): - bb.warn("Using fpga-manager.bbclass requires fpga-overlay MACHINE_FEATURE to be enabled") - - # Renaming firmware-name using $PN as bitstream/PDI will be renamed using - # $PN when generating the bin/pdi file. - if os.path.isfile(d.getVar('S') + (d.getVar('DTSI_PATH') or '') + '/' + d.getVar('FIRMWARE_NAME_DT_FILE')): - orig_dtsi = glob.glob(d.getVar('S')+ (d.getVar('DTSI_PATH') or '') + '/' + d.getVar('FIRMWARE_NAME_DT_FILE'))[0] - new_dtsi = d.getVar('S') + '/pl.dtsi_firmwarename' - with open(new_dtsi, 'w') as newdtsi: - with open(orig_dtsi) as olddtsi: - for line in olddtsi: - if soc_family == 'versal': - newdtsi.write(re.sub('firmware-name.*\".*\"','firmware-name = \"'+d.getVar('PN')+'.pdi\"',line)) - else: - newdtsi.write(re.sub('firmware-name.*\".*\"','firmware-name = \"'+d.getVar('PN')+'.bit.bin\"',line)) - shutil.move(new_dtsi,orig_dtsi) -} - -do_compile[prefuncs] += "find_firmware_file" - -python devicetree_do_compile:append() { - import glob, subprocess, shutil - soc_family = d.getVar("SOC_FAMILY") - - dtbo_count = sum(1 for f in glob.iglob((d.getVar('S') + '/*.dtbo'),recursive=True) if os.path.isfile(f)) - - # Skip devicetree do_compile task if input file is dtbo in SRC_URI - if not dtbo_count: - # Convert .bit to bit.bin format only if dtsi is input. - # In case of dtbo as input, bbclass doesn't know if firmware-name is .bit or - # .bit.bin format and corresponding file name. Hence we are not doing - # bit.bin conversion. - if soc_family != 'versal' and glob.glob(d.getVar('S') + '/' + d.getVar('FIRMWARE_NAME_DT_FILE')): - pn = d.getVar('PN') - biffile = pn + '.bif' - - with open(biffile, 'w') as f: - f.write('all:\n{\n\t' + glob.glob(d.getVar('S')+(d.getVar('BIT_PATH') or '') + '/*.bit')[0] + '\n}') - - bootgenargs = ["bootgen"] + (d.getVar("BOOTGEN_FLAGS") or "").split() - bootgenargs += ["-image", biffile, "-o", pn + ".bit.bin"] - subprocess.run(bootgenargs, check = True) - - # In Zynq7k using both "-process_bitstream bin" and "-o" in bootgen flag, - # to convert bit file to bin format, "-o" option will not be effective - # and generated output file name is ${S}+${BIT_PATH}/.bit.bin - # file, Hence we need to rename this file from .bit.bin to - # ${PN}.bit.bin which matches the firmware name in dtbo and move - # ${PN}.bit.bin to ${B} directory. - if soc_family == 'zynq': - src_bitbin_file = glob.glob(d.getVar('S') + (d.getVar('BIT_PATH') or '') + '/*.bit.bin')[0] - dst_bitbin_file = d.getVar('B') + '/' + pn + '.bit.bin' - shutil.move(src_bitbin_file, dst_bitbin_file) - - if not os.path.isfile(pn + ".bit.bin"): - bb.fatal("Couldn't find %s file, Enable '-log trace' in BOOTGEN_FLAGS" \ - "and check bootgen_log.txt" % (d.getVar('B') + '/' + pn + '.bit.bin')) -} - -# If user inputs both dtsi and dts files then device-tree will generate dtbo -# files for each dt file, Hence to package the firmware pick the right user dt -# overlay file. -python find_user_dts_overlay_file() { - import glob - dtbo_count = sum(1 for f in glob.iglob((d.getVar('S') + '/*.dtbo'),recursive=True) if os.path.isfile(f)) - # Skip if input file is dtbo in SRC_URI - if not dtbo_count: - dts_count = get_dt_count(d, 'dts') - dtsi_count = get_dt_count(d, 'dtsi') - if dtsi_count == 1 and dts_count == 0: - dts_file =glob.glob(d.getVar('S')+ (d.getVar('DTSI_PATH') or '') + '/*.dtsi')[0] - elif dtsi_count >=0 and dts_count == 1: - dts_file = glob.glob(d.getVar('S')+ (d.getVar('DTSI_PATH') or '') + '/*.dts')[0] - - d.setVar('USER_DTS_FILE', os.path.splitext(os.path.basename(dts_file))[0]) -} - -do_install[prefuncs] += "find_user_dts_overlay_file" - -do_install() { - install -d ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/ - - # In case of dtbo as input, dtbo will be copied from directly from ${S} - # In case of dtsi as input, dtbo will be copied from directly from ${B} - if [ `ls ${S}/*.dtbo | wc -l` -eq 1 ]; then - install -Dm 0644 ${S}/*.dtbo ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/ - elif [ `ls ${S}/*.dtbo | wc -l` -gt 1 ]; then - bbfatal "Multiple DTBO found, use the right DTBO in SRC_URI from the following:\n$(basename -a ${S}/*.dtbo)" - elif [ -f ${B}/${USER_DTS_FILE}.dtbo ]; then - install -Dm 0644 ${B}/${USER_DTS_FILE}.dtbo ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/${PN}.dtbo - else - bbfatal "A dtbo ending '.dtbo' expected but not found" - fi - - if [ "${SOC_FAMILY}" == "versal" ]; then - # In case of dtbo as input, pdi will be copied from directly from ${S} - # without renaming the pdi name to ${PN}.pdi - if [ `ls ${S}/*.pdi | wc -l` -eq 1 ] && [ `ls ${S}/*.dtbo | wc -l` -eq 1 ]; then - install -Dm 0644 ${S}/*.pdi ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/ - elif [ `ls ${S}/*.pdi | wc -l` -gt 1 ]; then - bbfatal "Multiple PDI found, use the right PDI in SRC_URI from the following:\n$(basename -a ${S}/*.pdi)" - elif [ `ls ${S}/*.pdi | wc -l` -eq 1 ] && [ -f ${B}/${USER_DTS_FILE}.dtbo ]; then - install -Dm 0644 ${S}/*.pdi ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/${PN}.pdi - else - bbfatal "A PDI file with '.pdi' expected but not found" - fi - else - # In case of dtbo as input, .bit or .bin will be copied from directly - # from ${S} without renaming the .bit/.bin name to ${PN}.bit/${PN}.bin - # if more than one .bit/.bin file is found then fail the task. - if [ `ls ${S}/*.bit | wc -l` -gt 1 ]; then - bbfatal "Multiple .bit found, use the right .bit in SRC_URI from the following:\n$(basename -a ${S}/*.bit)" - elif [ `ls ${S}/*.bin | wc -l` -gt 1 ]; then - bbfatal "Multiple .bin found, use the right .bin in SRC_URI from the following:\n$(basename -a ${S}/*.bin)" - elif [ `ls ${S}/*.bit | wc -l` -eq 1 ] && [ `ls ${S}/*.dtbo | wc -l` -eq 1 ]; then - install -Dm 0644 ${S}/*.bit ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/ - elif [ `ls ${S}/*.bin | wc -l` -eq 1 ] && [ `ls ${S}/*.dtbo | wc -l` -eq 1 ]; then - install -Dm 0644 ${S}/*.bin ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/ - elif [ -f ${B}/${PN}.bit.bin ] && [ -f ${B}/${USER_DTS_FILE}.dtbo ]; then - install -Dm 0644 ${B}/${PN}.bit.bin ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/${PN}.bit.bin - else - bbfatal "A bitstream file with '.bit' or '.bin' expected but not found" - fi - fi - - if ls ${S}/${XCL_PATH}/*.xclbin >/dev/null 2>&1; then - install -Dm 0644 ${S}/${XCL_PATH}/*.xclbin ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/${PN}.xclbin - fi - - if [ -f ${S}/${JSON_PATH}/shell.json ] || [ -f ${S}/${JSON_PATH}/accel.json ]; then - install -Dm 0644 ${S}/${JSON_PATH}/*.json ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/ - fi -} - -do_deploy[noexec] = "1" - -FILES:${PN} += "${nonarch_base_libdir}/firmware/xilinx/${PN}" diff --git a/meta-xilinx-core/classes/image-wic-utils.bbclass b/meta-xilinx-core/classes/image-wic-utils.bbclass deleted file mode 100644 index 41ad8148..00000000 --- a/meta-xilinx-core/classes/image-wic-utils.bbclass +++ /dev/null @@ -1,54 +0,0 @@ -# Helper/utility functions to work with the IMAGE_BOOT_FILES variable and its -# expected behvaior with regards to the contents of the DEPLOY_DIR_IMAGE. -# -# The use of these functions assume that the deploy directory is populated with -# any dependent files/etc. Such that the recipe using these functions depends -# on the recipe that provides the files being used/queried. - -def boot_files_split_expand(d): - # IMAGE_BOOT_FILES has extra renaming info in the format ';' - for f in (d.getVar("IMAGE_BOOT_FILES") or "").split(" "): - parts = f.split(";", 1) - sources = [parts[0].strip()] - if "*" in parts[0]: - # has glob part - import glob - deployroot = d.getVar("DEPLOY_DIR_IMAGE") - sources = [] - for i in glob.glob(os.path.join(deployroot, parts[0])): - sources.append(os.path.basename(i)) - - # for all sources, yield an entry - for s in sources: - if len(parts) == 2: - if parts[1].endswith('/'): - yield s, '%s%s' % (parts[1].strip(), s) - else: - yield s, parts[1].strip() - yield s, s - -def boot_files_bitstream(d): - expectedfiles = [("bitstream", True)] - expectedexts = [(".bit", True), (".bin", False)] - # search for bitstream paths, use the renamed file. First matching is used - for source, target in boot_files_split_expand(d): - # skip boot.bin and u-boot.bin, it is not a bitstream - skip = ["boot.bin", "u-boot.bin"] - if source in skip or target in skip: - continue - - for e, t in expectedfiles: - if source == e or target == e: - return target, t - for e, t in expectedexts: - if source.endswith(e) or target.endswith(e): - return target, t - return "", False - -def boot_files_dtb_filepath(d): - dtbs = (d.getVar("IMAGE_BOOT_FILES") or "").split(" ") - for source, target in boot_files_split_expand(d): - if target.endswith(".dtb"): - return target - return "" - diff --git a/meta-xilinx-core/classes/kernel-simpleimage.bbclass b/meta-xilinx-core/classes/kernel-simpleimage.bbclass deleted file mode 100644 index 110ee254..00000000 --- a/meta-xilinx-core/classes/kernel-simpleimage.bbclass +++ /dev/null @@ -1,35 +0,0 @@ -python __anonymous () { - kerneltypes = set((d.getVar("KERNEL_IMAGETYPE") or "").split()) - kerneltypes |= set((d.getVar("KERNEL_IMAGETYPES") or "").split()) - if any(t.startswith("simpleImage.") for t in kerneltypes): - # Enable building of simpleImage - bb.build.addtask('do_prep_simpleimage', 'do_compile', 'do_configure', d) - uarch = d.getVar("UBOOT_ARCH") - if uarch == "microblaze": - d.appendVarFlag('do_prep_simpleimage', 'depends', ' virtual/dtb:do_populate_sysroot') -} - -do_prep_simpleimage[dirs] += "${B}" -do_prep_simpleimage () { - install -d ${B}/arch/${ARCH}/boot/dts - for type in ${KERNEL_IMAGETYPES} ; do - if [ -z "${type##*simpleImage*}" ] && [ ${ARCH} = "microblaze" ]; then - ext="${type##*.}" - # Microblaze simpleImage only works with dts file - cp ${RECIPE_SYSROOT}/boot/devicetree/${ext}.dts ${B}/arch/${ARCH}/boot/dts/ - fi - done -} - -do_deploy:append () { - for type in ${KERNEL_IMAGETYPES} ; do - if [ -z "${type##*simpleImage*}" ] && [ ${ARCH} = "microblaze" ]; then - base_name=${type}-${KERNEL_IMAGE_NAME} - install -m 0644 ${KERNEL_OUTPUT_DIR}/${type}.strip $deployDir/${base_name}.strip - install -m 0644 ${KERNEL_OUTPUT_DIR}/${type}.unstrip $deployDir/${base_name}.unstrip - symlink_name=${type}-${KERNEL_IMAGE_LINK_NAME} - ln -sf ${base_name}.strip $deployDir/${symlink_name}.strip - ln -sf ${base_name}.unstrip $deployDir/${symlink_name}.unstrip - fi - done -} diff --git a/meta-xilinx-core/classes/qemuboot-xilinx.bbclass b/meta-xilinx-core/classes/qemuboot-xilinx.bbclass deleted file mode 100644 index 7466ab5e..00000000 --- a/meta-xilinx-core/classes/qemuboot-xilinx.bbclass +++ /dev/null @@ -1,140 +0,0 @@ - -# enable the overrides for the context of the conf only -OVERRIDES .= ":qemuboot-xilinx" - -# Default machine targets for Xilinx QEMU (FDT Generic) -# Allow QB_MACHINE to be overridden by a BSP config -QB_MACHINE ?= "${QB_MACHINE_XILINX}" -QB_RNG="" -QB_MACHINE_XILINX:aarch64 = "-machine arm-generic-fdt" -QB_MACHINE_XILINX:arm = "-M arm-generic-fdt-7series" -QB_MACHINE_XILINX:microblaze = "-M microblaze-fdt-plnx" - -QB_SYSTEM_NAME ?= "${@qemu_target_binary(d)}" -QB_DEFAULT_FSTYPE ?= "${@qemu_rootfs_params(d,'fstype')}" -QB_ROOTFS ?= "${@qemu_rootfs_params(d,'rootfs')}" -QB_ROOTFS_OPT ?= "${@qemu_rootfs_params(d,'rootfs-opt')}" -QB_DTB ?= "${@qemu_default_dtb(d)}" - -# defaults -QB_DEFAULT_KERNEL ?= "none" -QB_DEFAULT_KERNEL:zynq ?= "${@'zImage' if \ - d.getVar('INITRAMFS_IMAGE_BUNDLE') != '1' else 'zImage-initramfs-${MACHINE}.bin'}" -QB_DEFAULT_KERNEL:microblaze ?= "${@'simpleImage.mb' if \ - d.getVar('INITRAMFS_IMAGE_BUNDLE') != '1' else 'simpleImage.mb-initramfs-${MACHINE}.bin'}" - -inherit qemuboot - -def qemu_target_binary(data): - package_arch = data.getVar("PACKAGE_ARCH") - qemu_target_binary = (data.getVar("QEMU_TARGET_BINARY_%s" % package_arch) or "") - if qemu_target_binary: - return qemu_target_binary - - target_arch = data.getVar("TARGET_ARCH") - if target_arch == "microblazeeb": - target_arch = "microblaze" - elif target_arch == "aarch64": - target_arch += "-multiarch" - elif target_arch == "arm": - target_arch = "aarch64" - return "qemu-system-%s" % target_arch - -def qemu_add_extra_args(data): - initramfs_image = data.getVar('INITRAMFS_IMAGE') or "" - bundle_image = data.getVar('INITRAMFS_IMAGE_BUNDLE') or "" - deploy_dir = data.getVar('DEPLOY_DIR_IMAGE') or "" - machine_name = data.getVar('MACHINE') or "" - soc_family = data.getVar('SOC_FAMILY') or "" - qb_extra_args = '' - # Add kernel image and boot.scr to qemu boot command when initramfs_image supplied - kernel_name = '' - bootscr_image = '%s/boot.scr' % deploy_dir - if soc_family in ('zynqmp', 'versal'): - kernel_name = 'Image' - bootscr_loadaddr = '0x20000000' - if initramfs_image: - kernel_image = '%s/%s' % (deploy_dir, kernel_name) - if bundle_image == "1": - kernel_image = '%s/%s-initramfs-%s.bin' % (deploy_dir, kernel_name, machine_name) - kernel_loadaddr = '0x200000' - if kernel_name: - qb_extra_args = ' -device loader,file=%s,addr=%s,force-raw=on' % (kernel_image, kernel_loadaddr) - qb_extra_args += ' -device loader,file=%s,addr=%s,force-raw=on' % (bootscr_image, bootscr_loadaddr) - if soc_family == 'versal': - qb_extra_args += ' -boot mode=5' - else: - if soc_family in ('zynqmp', 'versal'): - qb_extra_args = ' -boot mode=5' - return qb_extra_args - -def qemu_rootfs_params(data, param): - initramfs_image = data.getVar('INITRAMFS_IMAGE') or "" - bundle_image = data.getVar('INITRAMFS_IMAGE_BUNDLE') or "" - soc_family = data.getVar('SOC_FAMILY') or "" - tune_features = (data.getVar('TUNE_FEATURES') or []).split() - if 'microblaze' in tune_features: - soc_family = 'microblaze' - soc_variant = data.getVar('SOC_VARIANT') or "" - - if param == 'rootfs': - return 'none' if bundle_image == "1" else '' - - elif param == 'fstype': - fstype_dict = { - "microblaze": "cpio.gz", - "zynq": "cpio.gz", - "zynqmp": "cpio.gz.u-boot", - "versal": "cpio.gz.u-boot.qemu-sd-fatimg" - } - if not initramfs_image: - image_fs = data.getVar('IMAGE_FSTYPES') - if 'wic.qemu-sd' in image_fs: - return 'wic.qemu-sd' - if soc_family not in fstype_dict: - return "" - return fstype_dict[soc_family] - - elif param == 'rootfs-opt': - sd_index = "1" - if soc_family == 'zynq': - sd_index = "0" - if soc_family == 'versal' and soc_variant == 'net': - sd_index = "0" - - # Device is using a disk - if not initramfs_image: - return ' -drive if=sd,index=%s,file=@ROOTFS@,format=raw' % (sd_index) - - # Device is using a ramdisk - if soc_family not in ('zynq', 'microblaze'): - return ' -device loader,file=@ROOTFS@,addr=0x04000000,force-raw=on' - - # Ramdisk must be compiled into the kernel - return '' - -def qemu_default_dtb(data): - if data.getVar("IMAGE_BOOT_FILES", True): - dtbs = data.getVar("IMAGE_BOOT_FILES", True).split(" ") - # IMAGE_BOOT_FILES has extra renaming info in the format ';' - # Note: Wildcard sources work here only because runqemu expands them at run time - dtbs = [f.split(";")[0] for f in dtbs] - dtbs = [f for f in dtbs if f.endswith(".dtb")] - if len(dtbs) != 0: - return dtbs[0] - return "" - -def qemu_default_serial(data): - if data.getVar("SERIAL_CONSOLES", True): - first_console = data.getVar("SERIAL_CONSOLES", True).split(" ")[0] - speed, console = first_console.split(";", 1) - # zynqmp uses earlycon and stdout (in dtb) - if "zynqmp" in data.getVar("MACHINEOVERRIDES", True).split(":"): - return "" - return "console=%s,%s earlyprintk" % (console, speed) - return "" - -def qemu_zynqmp_unhalt(data, multiarch): - if multiarch: - return "-global xlnx,zynqmp-boot.cpu-num=0 -global xlnx,zynqmp-boot.use-pmufw=true" - return "-device loader,addr=0xfd1a0104,data=0x8000000e,data-len=4 -device loader,addr=0xfd1a0104,data=0x8000000e,data-len=4" diff --git a/meta-xilinx-core/classes/xilinx-fetch-restricted.bbclass b/meta-xilinx-core/classes/xilinx-fetch-restricted.bbclass deleted file mode 100644 index a778ec7d..00000000 --- a/meta-xilinx-core/classes/xilinx-fetch-restricted.bbclass +++ /dev/null @@ -1,35 +0,0 @@ -# This class is setup to override the default fetching for the target recipe. -# When fetching it forces PREMIRROR only fetching so that no attempts are made -# to fetch the Xilinx downloads that are restricted to authenticated users only. -# -# The purpose of this class is to allow for automatation with pre-downloaded -# content or content that is available with curated/user defined pre-mirrors -# and or pre-populated downloads/ directories. - -python do_fetch() { - xilinx_restricted_url = "xilinx.com/member/forms/download" - - src_uri = (d.getVar('SRC_URI') or "").split() - if len(src_uri) == 0: - return - - for i in src_uri: - if xilinx_restricted_url in i: - # force the use of premirrors only, do not attempt download from xilinx.com - d.setVar("BB_FETCH_PREMIRRORONLY", "1") - break - - try: - fetcher = bb.fetch2.Fetch(src_uri, d) - fetcher.download() - except bb.fetch2.NetworkAccess as e: - if xilinx_restricted_url in e.url: - # fatal on access to xilinx.com restricted downloads, print the url for manual download - bb.fatal("The following download cannot be fetched automatically. " \ - "Please manually download the file and place it in the 'downloads' directory (or on an available PREMIRROR).\n" \ - " %s" % (e.url.split(";")[0])) - else: - bb.fatal(str(e)) - except bb.fetch2.BBFetchException as e: - bb.fatal(str(e)) -} diff --git a/meta-xilinx-core/classes/xilinx-microblaze.bbclass b/meta-xilinx-core/classes/xilinx-microblaze.bbclass deleted file mode 100644 index ed231a3a..00000000 --- a/meta-xilinx-core/classes/xilinx-microblaze.bbclass +++ /dev/null @@ -1,11 +0,0 @@ -# Class to add a deprecated warning from various configuration files. - -# Immediately after the ConfigParsed event handler, warn the user of any -# deprecated files the user has used. -addhandler xilinx_microblaze_config_eventhandler -xilinx_microblaze_config_eventhandler[eventmask] = "bb.event.ConfigParsed" -python xilinx_microblaze_config_eventhandler () { - if d.getVar('DEFAULTTUNE').startswith('microblaze'): - if 'xilinx-microblaze' not in d.getVar('BBFILE_COLLECTIONS').split(): - bb.fatal('You must include the meta-microblaze layer to build for this configuration.') -} diff --git a/meta-xilinx-core/classes/xilinx-platform-init.bbclass b/meta-xilinx-core/classes/xilinx-platform-init.bbclass deleted file mode 100644 index 99f7863a..00000000 --- a/meta-xilinx-core/classes/xilinx-platform-init.bbclass +++ /dev/null @@ -1,14 +0,0 @@ -# This class should be included by any recipe that wants to access or provide -# the platform init source files which are used to initialize a Zynq or ZynqMP -# SoC. - -# Define the path to the xilinx platform init code/headers -PLATFORM_INIT_DIR ?= "/usr/src/xilinx-platform-init" - -PLATFORM_INIT_STAGE_DIR = "${STAGING_DIR_HOST}${PLATFORM_INIT_DIR}" - -# Target files use for platform init -PLATFORM_INIT_FILES ?= "" -PLATFORM_INIT_FILES:zynq = "ps7_init_gpl.c ps7_init_gpl.h" -PLATFORM_INIT_FILES:zynqmp = "psu_init_gpl.c psu_init_gpl.h" - -- cgit v1.2.3-54-g00ecf From 410a0d133485390ef4bd1148bfcd43d5b225fbd8 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Fri, 1 Dec 2023 09:39:52 -0700 Subject: dfx_user_dts.bbclass: Make bitstream bin as default loadable file Make bitstream bin as default loadable file for Zynq 7000(Full) and ZynqMP(Full, DFx) dynamic configurations. Below use case are covered as part this patch. 1. If user provides a .bin file as input to dfx_user_dts bbclass then deploy this bin file to lib/firmware directory without any conversion. 2. If user provides a .bit file as input to dfx_user_dts bbclass then convert .bit file to .bin file using bootgen tool and deploy this bin file to lib/firmware directory. 3. Refactor fpga-manager.bbclass with dfx_user_dts.bbclass. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- .../classes-recipe/dfx_user_dts.bbclass | 48 ++++++++++++---------- 1 file changed, 27 insertions(+), 21 deletions(-) diff --git a/meta-xilinx-core/classes-recipe/dfx_user_dts.bbclass b/meta-xilinx-core/classes-recipe/dfx_user_dts.bbclass index 4404aa05..bde5be5d 100644 --- a/meta-xilinx-core/classes-recipe/dfx_user_dts.bbclass +++ b/meta-xilinx-core/classes-recipe/dfx_user_dts.bbclass @@ -1,3 +1,8 @@ +# +# Copyright (C) 2023, Advanced Micro Devices, Inc. All rights reserved. +# +# SPDX-License-Identifier: MIT +# # This bbclass is inherited by flat, DFx Static and DFx RP firmware recipes. # dfx_user_dts.bbclass expects user to generate pl dtsi for flat, DFx Static # and DFx RP xsa outside of yocto. @@ -59,7 +64,7 @@ python() { if '.bin' in d.getVar("SRC_URI") and soc_family != "versal": bin_found = True - d.setVar("BIT_PATH",os.path.dirname([a for a in d.getVar('SRC_URI').split() if '.bin' in a][0].lstrip('file://'))) + d.setVar("BIN_PATH",os.path.dirname([a for a in d.getVar('SRC_URI').split() if '.bin' in a][0].lstrip('file://'))) if '.pdi' in d.getVar("SRC_URI") and soc_family == "versal": pdi_found = True @@ -129,7 +134,7 @@ python do_configure() { soc_family = d.getVar("SOC_FAMILY") if bb.utils.contains('MACHINE_FEATURES', 'fpga-overlay', False, True, d): - bb.warn("Using fpga-manager.bbclass requires fpga-overlay MACHINE_FEATURE to be enabled") + bb.warn("Using dfx_user_dts.bbclass requires fpga-overlay MACHINE_FEATURE to be enabled") # Renaming firmware-name using $PN as bitstream/PDI will be renamed using # $PN when generating the bin/pdi file. @@ -142,7 +147,7 @@ python do_configure() { if soc_family == 'versal': newdtsi.write(re.sub('firmware-name.*\".*\"','firmware-name = \"'+d.getVar('PN')+'.pdi\"',line)) else: - newdtsi.write(re.sub('firmware-name.*\".*\"','firmware-name = \"'+d.getVar('PN')+'.bit.bin\"',line)) + newdtsi.write(re.sub('firmware-name.*\".*\"','firmware-name = \"'+d.getVar('PN')+'.bin\"',line)) shutil.move(new_dtsi,orig_dtsi) } @@ -153,13 +158,14 @@ python devicetree_do_compile:append() { soc_family = d.getVar("SOC_FAMILY") dtbo_count = sum(1 for f in glob.iglob((d.getVar('S') + '/*.dtbo'),recursive=True) if os.path.isfile(f)) - - # Skip devicetree do_compile task if input file is dtbo in SRC_URI - if not dtbo_count: - # Convert .bit to bit.bin format only if dtsi is input. - # In case of dtbo as input, bbclass doesn't know if firmware-name is .bit or - # .bit.bin format and corresponding file name. Hence we are not doing - # bit.bin conversion. + bin_count = sum(1 for f in glob.iglob((d.getVar('S') + '/*.bin'),recursive=True) if os.path.isfile(f)) + + # Skip devicetree do_compile task if input file is dtbo or bin in SRC_URI + if not dtbo_count and not bin_count: + # Convert .bit to .bin format only if dtsi is input. + # In case of dtbo as input, bbclass doesn't know if firmware-name is .bit + # or .bin format and corresponding file name. Hence we are not doing .bin + # conversion. if soc_family != 'versal' and glob.glob(d.getVar('S') + '/' + d.getVar('FIRMWARE_NAME_DT_FILE')): pn = d.getVar('PN') biffile = pn + '.bif' @@ -168,23 +174,23 @@ python devicetree_do_compile:append() { f.write('all:\n{\n\t' + glob.glob(d.getVar('S')+(d.getVar('BIT_PATH') or '') + '/*.bit')[0] + '\n}') bootgenargs = ["bootgen"] + (d.getVar("BOOTGEN_FLAGS") or "").split() - bootgenargs += ["-image", biffile, "-o", pn + ".bit.bin"] + bootgenargs += ["-image", biffile, "-o", pn + ".bin"] subprocess.run(bootgenargs, check = True) # In Zynq7k using both "-process_bitstream bin" and "-o" in bootgen flag, # to convert bit file to bin format, "-o" option will not be effective - # and generated output file name is ${S}+${BIT_PATH}/.bit.bin - # file, Hence we need to rename this file from .bit.bin to - # ${PN}.bit.bin which matches the firmware name in dtbo and move - # ${PN}.bit.bin to ${B} directory. + # and generated output file name is ${S}+${BIT_PATH}/.bin + # file, Hence we need to rename this file from .bin to + # ${PN}.bin which matches the firmware name in dtbo and move + # ${PN}.bin to ${B} directory. if soc_family == 'zynq': - src_bitbin_file = glob.glob(d.getVar('S') + (d.getVar('BIT_PATH') or '') + '/*.bit.bin')[0] - dst_bitbin_file = d.getVar('B') + '/' + pn + '.bit.bin' + src_bitbin_file = glob.glob(d.getVar('S') + (d.getVar('BIT_PATH') or '') + '/*.bin')[0] + dst_bitbin_file = d.getVar('B') + '/' + pn + '.bin' shutil.move(src_bitbin_file, dst_bitbin_file) - if not os.path.isfile(pn + ".bit.bin"): + if not os.path.isfile(pn + ".bin"): bb.fatal("Couldn't find %s file, Enable '-log trace' in BOOTGEN_FLAGS" \ - "and check bootgen_log.txt" % (d.getVar('B') + '/' + pn + '.bit.bin')) + "and check bootgen_log.txt" % (d.getVar('B') + '/' + pn + '.bin')) } # If user inputs both dtsi and dts files then device-tree will generate dtbo @@ -246,8 +252,8 @@ do_install() { install -Dm 0644 ${S}/*.bit ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/ elif [ `ls ${S}/*.bin | wc -l` -eq 1 ] && [ `ls ${S}/*.dtbo | wc -l` -eq 1 ]; then install -Dm 0644 ${S}/*.bin ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/ - elif [ -f ${B}/${PN}.bit.bin ] && [ -f ${B}/${USER_DTS_FILE}.dtbo ]; then - install -Dm 0644 ${B}/${PN}.bit.bin ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/${PN}.bit.bin + elif [ -f ${B}/${PN}.bin ] && [ -f ${B}/${USER_DTS_FILE}.dtbo ]; then + install -Dm 0644 ${B}/${PN}.bin ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/${PN}.bin else bbfatal "A bitstream file with '.bit' or '.bin' expected but not found" fi -- cgit v1.2.3-54-g00ecf From 82b976a63489e53bb7ad3275d7da95eb775658b6 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Thu, 30 Nov 2023 22:07:49 -0700 Subject: README.dfx.user.dts.md: README on bin instructions Update README on .bin instructions and usage. Also update the test logs. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- docs/README.dfx.user.dts.md | 209 ++++++++++++++++++++++++++++---------------- 1 file changed, 134 insertions(+), 75 deletions(-) diff --git a/docs/README.dfx.user.dts.md b/docs/README.dfx.user.dts.md index 6cfc5fd0..228cc3c0 100644 --- a/docs/README.dfx.user.dts.md +++ b/docs/README.dfx.user.dts.md @@ -18,7 +18,7 @@ following use cases. * **Zynq-7000 and ZynqMP**: * Design: Vivado flat design. - * Input files to firmware recipes: .bit, .dtsi or dtbo and shell.json (optional) + * Input files to firmware recipes: .bit or .bin, .dtsi or dtbo and shell.json (optional) * Usage Examples: ``` SRC_URI = " \ @@ -35,10 +35,25 @@ SRC_URI = " \ file://shell.json \ " ``` +``` +SRC_URI = " \ + file://.bin \ + file://.dtsi \ + file://shell.json \ + " +``` + +``` +SRC_URI = " \ + file://.bin \ + file://.dtbo \ + file://shell.json \ + " +``` * **ZynqMP and Versal**: * Design: Vivado DFx design. - * Input files to firmware recipes: .bit(ZynqMP) or .pdi(Versal), .dtsi or dtbo + * Input files to firmware recipes: .bit/bin(ZynqMP) or .pdi(Versal), .dtsi or dtbo shell.json or accel.json (optional) and .xclbin (optional). * Usage Examples: @@ -62,6 +77,26 @@ SRC_URI = " \ " ``` +``` +# ZynqMP DFx Static +SRC_URI = " \ + file://.bin \ + file://.dtsi \ + file://shell.json \ + file://.xclbin \ + " +``` + +``` +# ZynqMP DFx Static +SRC_URI = " \ + file://.bin \ + file://.dtbo \ + file://shell.json \ + file://.xclbin \ + " +``` + ``` # ZynqMP DFx RP SRC_URI = " \ @@ -81,6 +116,27 @@ SRC_URI = " \ file://.xclbin \ " ``` + +``` +# ZynqMP DFx RP +SRC_URI = " \ + file://.bin \ + file://.dtsi \ + file://accel.json \ + file://.xclbin \ + " +``` + +``` +# ZynqMP DFx RP +SRC_URI = " \ + file://.bin \ + file://.dtbo \ + file://accel.json \ + file://.xclbin \ + " +``` + ``` # Versal DFx Static SRC_URI = " \ @@ -125,11 +181,11 @@ SRC_URI = " \ ## How to create a firmware recipe app 1. Follow [Building Instructions](../README.building.md) upto step 4. -2. Create recipes-firmware directory in meta layer and copy the .bit/pdi, +2. Create recipes-firmware directory in meta layer and copy the .bit/bin/pdi, .dtsi/dtbo, .json and .xclbin file to these directories. ``` $ mkdir -p /recipes-fimrware//files -$ cp -r /*.{bit or pdi, dtsi or dtbo, shell.json or accel.json and .xclbin} /recipes-fimrware//files +$ cp -r /*.{bit or bin or pdi, dtsi or dtbo, shell.json or accel.json and .xclbin} /recipes-fimrware//files ``` 3. Now create the recipes for flat or static or partial firmware using recipetool. ``` @@ -144,8 +200,9 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda inherit dfx_user_dts SRC_URI = "\ - file://zcu111-pl-demo.bit \ - file://zcu111-pl-demo.dtsi \ + file://shell.json \ + file://zcu111-pl-demo-user-dts.bit \ + file://zcu111-pl-demo-user-dts.dtsi \ " COMPATIBLE_MACHINE ?= "^$" @@ -153,7 +210,7 @@ COMPATIBLE_MACHINE:zynqmp = "zynqmp" ``` 5. Add firmware-recipe app to image and enable fpga-overlay machine features to local.conf as shown below. -> **Note:** fpga-manager-script provides fpgautil tool to load .bit/pdi and dtbo +> **Note:** fpga-manager-script provides fpgautil tool to load .bin/pdi and dtbo > at runtime linux. ``` MACHINE_FEATURES += "fpga-overlay" @@ -170,7 +227,7 @@ IMAGE_INSTALL:append = " \ --- ## Test Procedure on Target -* Once Linux boots on target, use fpgautil command to load .bit or .pdi and +* Once Linux boots on target, use fpgautil command to load .bin or .pdi and corresponding dt overlay as shown below. > **Note:** firmware can be loaded only with sudo or root permissions. --- @@ -179,11 +236,11 @@ IMAGE_INSTALL:append = " \ * ZynqMP ``` -yocto-zynqmp-generic-20231:~$ sudo su -yocto-zynqmp-generic-20231:/home/petalinux# cat /proc/interrupts +yocto-zynqmp-generic:~$ sudo su +yocto-zynqmp-generic:/home/petalinux# cat /proc/interrupts CPU0 CPU1 CPU2 CPU3 - 11: 13309 13021 13673 14170 GICv2 30 Level arch_timer - 14: 0 0 0 0 GICv2 67 Level zynqmp_ipi + 11: 5820 5482 14979 6981 GICv2 30 Level arch_timer + 14: 0 0 0 0 GICv2 67 Level zynqmp-ipi 15: 0 0 0 0 GICv2 175 Level arm-pmu 16: 0 0 0 0 GICv2 176 Level arm-pmu 17: 0 0 0 0 GICv2 177 Level arm-pmu @@ -193,7 +250,7 @@ yocto-zynqmp-generic-20231:/home/petalinux# cat /proc/interrupts 21: 0 0 0 0 GICv2 42 Level ff960000.memory-controller 22: 0 0 0 0 GICv2 88 Level ams-irq 23: 0 0 0 0 GICv2 155 Level axi-pmon, axi-pmon - 24: 327 0 0 0 GICv2 53 Level xuartps + 24: 366 0 0 0 GICv2 53 Level xuartps 27: 0 0 0 0 GICv2 156 Level zynqmp-dma 28: 0 0 0 0 GICv2 157 Level zynqmp-dma 29: 0 0 0 0 GICv2 158 Level zynqmp-dma @@ -212,54 +269,55 @@ yocto-zynqmp-generic-20231:/home/petalinux# cat /proc/interrupts 42: 0 0 0 0 GICv2 116 Level zynqmp-dma 43: 0 0 0 0 GICv2 154 Level fd4c0000.dma-controller 44: 5938 0 0 0 GICv2 47 Level ff0f0000.spi - 45: 76 0 0 0 GICv2 95 Level eth0, eth0 + 45: 325 0 0 0 GICv2 95 Level eth0, eth0 46: 0 0 0 0 GICv2 57 Level axi-pmon, axi-pmon - 47: 4802 0 0 0 GICv2 49 Level cdns-i2c - 48: 501 0 0 0 GICv2 50 Level cdns-i2c + 47: 2798 0 0 0 GICv2 49 Level cdns-i2c + 48: 326 0 0 0 GICv2 50 Level cdns-i2c 50: 0 0 0 0 GICv2 84 Edge ff150000.watchdog 51: 0 0 0 0 GICv2 151 Level fd4a0000.display - 52: 548 0 0 0 GICv2 81 Level mmc0 + 52: 551 0 0 0 GICv2 81 Level mmc0 53: 0 0 0 0 GICv2 165 Level ahci-ceva[fd0c0000.ahci] 54: 0 0 0 0 GICv2 97 Level xhci-hcd:usb1 55: 0 0 0 0 zynq-gpio 22 Edge sw19 -IPI0: 64 25 87 38 Rescheduling interrupts -IPI1: 1933 6579 1096 5686 Function call interrupts +IPI0: 51 94 136 48 Rescheduling interrupts +IPI1: 2295 6271 2952 873 Function call interrupts IPI2: 0 0 0 0 CPU stop interrupts IPI3: 0 0 0 0 CPU stop (for crash dump) interrupts IPI4: 0 0 0 0 Timer broadcast interrupts IPI5: 0 0 0 0 IRQ work interrupts IPI6: 0 0 0 0 CPU wake-up interrupts Err: 0 -yocto-zynqmp-generic-20231:/home/petalinux# tree /lib/firmware/ +yocto-zynqmp-generic:/home/petalinux# tree /lib/firmware/ /lib/firmware/ `-- xilinx - `-- zcu111-pl-demo - |-- zcu111-pl-demo.bit.bin - `-- zcu111-pl-demo.dtbo - -2 directories, 2 files -yocto-zynqmp-generic-20231:/home/petalinux# fpgautil -b /lib/firmware/xilinx/zcu111-pl-demo/zcu111-pl-demo.bit -o /lib/firmware/xilinx/zcu111-pl-demo/zcu111-pl-demo.dtbo -[ 91.039773] fpga_manager fpga0: writing zcu111-pl-demo.bit to Xilinx ZynqMP FPGA Manager -[ 91.528214] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/firmware-name -[ 91.538354] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/pid -[ 91.547598] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/resets -[ 91.557087] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/uid -[ 91.566804] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/afi0 -[ 91.576312] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/clocking0 -[ 91.586255] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_gpio_0 -[ 91.596280] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/misc_clk_0 -[ 91.606300] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_gpio_1 -[ 91.616325] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_gpio_2 -[ 91.626342] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_uartlite_0 -[ 91.636705] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/ddr4_0 -[ 91.661849] gpio gpiochip3: (a0000000.gpio): not an immutable chip, please consider fixing it! -[ 91.662020] gpio gpiochip4: (a0010000.gpio): not an immutable chip, please consider fixing it! -[ 91.863492] a0030000.serial: ttyUL0 at MMIO 0xa0030000 (irq = 58, base_baud = 0) is a uartlite -[ 91.876674] uartlite a0030000.serial: Runtime PM usage count underflow! -[ 91.906539] input: pl-gpio-keys as /devices/platform/pl-gpio-keys/input/input1 -Time taken to load BIN is 901.000000 Milli Seconds + `-- zcu111-pl-demo-user-dts + |-- shell.json + |-- zcu111-pl-demo-user-dts.bin + `-- zcu111-pl-demo-user-dts.dtbo + +2 directories, 3 files +yocto-zynqmp-generic:/home/petalinux# fpgautil -b /lib/firmware/xilinx/zcu111-pl-demo-user-dts/zcu111-pl-demo-user-dts.bin -o /lib/firmware/xilinx/zcu111-pl-demo-user-dts/zcu111-pl-demo-user-dts.dtbo +[ 370.737539] fpga_manager fpga0: writing zcu111-pl-demo-user-dts.bin to Xilinx ZynqMP FPGA Manager +[ 370.960368] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/firmware-name +[ 370.970508] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/pid +[ 370.979755] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/resets +[ 370.989244] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/uid +[ 370.998947] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/afi0 +[ 371.008449] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/clocking0 +[ 371.018398] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_gpio_0 +[ 371.028420] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/misc_clk_0 +[ 371.038442] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_gpio_1 +[ 371.048467] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_gpio_2 +[ 371.058487] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_uartlite_0 +[ 371.068852] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/ddr4_0 +[ 371.096047] gpio gpiochip3: (a0000000.gpio): not an immutable chip, please consider fixing it! +[ 371.096223] gpio gpiochip4: (a0010000.gpio): not an immutable chip, please consider fixing it! +[ 371.115206] a0030000.serial: ttyUL0 at MMIO 0xa0030000 (irq = 58, base_baud = 0) is a uartlite +[ 371.124178] uartlite a0030000.serial: Runtime PM usage count underflow! +[ 371.133186] input: axi:pl-gpio-keys as /devices/platform/axi/axi:pl-gpio-keys/input/input1 +Time taken to load BIN is 409.000000 Milli Seconds BIN FILE loaded through FPGA manager successfully -yocto-zynqmp-generic-20231:/home/petalinux# +yocto-zynqmp-generic:/home/petalinux# ``` * Versal (DFx Static) ``` @@ -324,10 +382,10 @@ root@yocto-vck190-dfx-2023:~# * Verify PL GPIO DIP switches and Push buttons are registered. * Move the DIP Switches ON/OFF and verify the interrupt counts. ``` -yocto-zynqmp-generic-20231:/home/petalinux# cat /proc/interrupts +yocto-zynqmp-generic:/home/petalinux# cat /proc/interrupts CPU0 CPU1 CPU2 CPU3 - 11: 23303 22971 24203 24990 GICv2 30 Level arch_timer - 14: 0 0 0 0 GICv2 67 Level zynqmp_ipi + 11: 7674 7136 20210 8226 GICv2 30 Level arch_timer + 14: 0 0 0 0 GICv2 67 Level zynqmp-ipi 15: 0 0 0 0 GICv2 175 Level arm-pmu 16: 0 0 0 0 GICv2 176 Level arm-pmu 17: 0 0 0 0 GICv2 177 Level arm-pmu @@ -337,7 +395,7 @@ yocto-zynqmp-generic-20231:/home/petalinux# cat /proc/interrupts 21: 0 0 0 0 GICv2 42 Level ff960000.memory-controller 22: 0 0 0 0 GICv2 88 Level ams-irq 23: 0 0 0 0 GICv2 155 Level axi-pmon, axi-pmon - 24: 515 0 0 0 GICv2 53 Level xuartps + 24: 1143 0 0 0 GICv2 53 Level xuartps 27: 0 0 0 0 GICv2 156 Level zynqmp-dma 28: 0 0 0 0 GICv2 157 Level zynqmp-dma 29: 0 0 0 0 GICv2 158 Level zynqmp-dma @@ -356,13 +414,13 @@ yocto-zynqmp-generic-20231:/home/petalinux# cat /proc/interrupts 42: 0 0 0 0 GICv2 116 Level zynqmp-dma 43: 0 0 0 0 GICv2 154 Level fd4c0000.dma-controller 44: 5938 0 0 0 GICv2 47 Level ff0f0000.spi - 45: 110 0 0 0 GICv2 95 Level eth0, eth0 + 45: 485 0 0 0 GICv2 95 Level eth0, eth0 46: 0 0 0 0 GICv2 57 Level axi-pmon, axi-pmon - 47: 4802 0 0 0 GICv2 49 Level cdns-i2c - 48: 501 0 0 0 GICv2 50 Level cdns-i2c + 47: 2798 0 0 0 GICv2 49 Level cdns-i2c + 48: 326 0 0 0 GICv2 50 Level cdns-i2c 50: 0 0 0 0 GICv2 84 Edge ff150000.watchdog 51: 0 0 0 0 GICv2 151 Level fd4a0000.display - 52: 548 0 0 0 GICv2 81 Level mmc0 + 52: 551 0 0 0 GICv2 81 Level mmc0 53: 0 0 0 0 GICv2 165 Level ahci-ceva[fd0c0000.ahci] 54: 0 0 0 0 GICv2 97 Level xhci-hcd:usb1 55: 0 0 0 0 zynq-gpio 22 Edge sw19 @@ -379,18 +437,19 @@ yocto-zynqmp-generic-20231:/home/petalinux# cat /proc/interrupts 69: 0 0 0 0 gpio-xilinx 2 Edge PL_GPIO_DIP_SW2 70: 0 0 0 0 gpio-xilinx 1 Edge PL_GPIO_DIP_SW1 71: 0 0 0 0 gpio-xilinx 0 Edge PL_GPIO_DIP_SW0 -IPI0: 64 25 87 38 Rescheduling interrupts -IPI1: 2066 6747 1212 5791 Function call interrupts +IPI0: 64 106 160 56 Rescheduling interrupts +IPI1: 2712 6721 3259 998 Function call interrupts IPI2: 0 0 0 0 CPU stop interrupts IPI3: 0 0 0 0 CPU stop (for crash dump) interrupts IPI4: 0 0 0 0 Timer broadcast interrupts IPI5: 0 0 0 0 IRQ work interrupts IPI6: 0 0 0 0 CPU wake-up interrupts Err: 0 -yocto-zynqmp-generic-20231:/home/petalinux# cat /proc/interrupts +yocto-zcu111-zynqmp:/home/petalinux# +yocto-zcu111-zynqmp:/home/petalinux# cat /proc/interrupts CPU0 CPU1 CPU2 CPU3 - 11: 28169 27725 29250 30190 GICv2 30 Level arch_timer - 14: 0 0 0 0 GICv2 67 Level zynqmp_ipi + 11: 8530 7717 22106 8626 GICv2 30 Level arch_timer + 14: 0 0 0 0 GICv2 67 Level zynqmp-ipi 15: 0 0 0 0 GICv2 175 Level arm-pmu 16: 0 0 0 0 GICv2 176 Level arm-pmu 17: 0 0 0 0 GICv2 177 Level arm-pmu @@ -400,7 +459,7 @@ yocto-zynqmp-generic-20231:/home/petalinux# cat /proc/interrupts 21: 0 0 0 0 GICv2 42 Level ff960000.memory-controller 22: 0 0 0 0 GICv2 88 Level ams-irq 23: 0 0 0 0 GICv2 155 Level axi-pmon, axi-pmon - 24: 603 0 0 0 GICv2 53 Level xuartps + 24: 1234 0 0 0 GICv2 53 Level xuartps 27: 0 0 0 0 GICv2 156 Level zynqmp-dma 28: 0 0 0 0 GICv2 157 Level zynqmp-dma 29: 0 0 0 0 GICv2 158 Level zynqmp-dma @@ -419,45 +478,45 @@ yocto-zynqmp-generic-20231:/home/petalinux# cat /proc/interrupts 42: 0 0 0 0 GICv2 116 Level zynqmp-dma 43: 0 0 0 0 GICv2 154 Level fd4c0000.dma-controller 44: 5938 0 0 0 GICv2 47 Level ff0f0000.spi - 45: 134 0 0 0 GICv2 95 Level eth0, eth0 + 45: 527 0 0 0 GICv2 95 Level eth0, eth0 46: 0 0 0 0 GICv2 57 Level axi-pmon, axi-pmon - 47: 4802 0 0 0 GICv2 49 Level cdns-i2c - 48: 501 0 0 0 GICv2 50 Level cdns-i2c + 47: 2798 0 0 0 GICv2 49 Level cdns-i2c + 48: 326 0 0 0 GICv2 50 Level cdns-i2c 50: 0 0 0 0 GICv2 84 Edge ff150000.watchdog 51: 0 0 0 0 GICv2 151 Level fd4a0000.display - 52: 548 0 0 0 GICv2 81 Level mmc0 + 52: 551 0 0 0 GICv2 81 Level mmc0 53: 0 0 0 0 GICv2 165 Level ahci-ceva[fd0c0000.ahci] 54: 0 0 0 0 GICv2 97 Level xhci-hcd:usb1 55: 0 0 0 0 zynq-gpio 22 Edge sw19 59: 2 0 0 0 gpio-xilinx 4 Edge PL_GPIO_PB_SW9_N 60: 4 0 0 0 gpio-xilinx 3 Edge PL_GPIO_PB_SW12_E - 61: 2 0 0 0 gpio-xilinx 2 Edge PL_GPIO_PB_SW13_S - 62: 2 0 0 0 gpio-xilinx 1 Edge PL_GPIO_PB_SW10_W + 61: 6 0 0 0 gpio-xilinx 2 Edge PL_GPIO_PB_SW13_S + 62: 4 0 0 0 gpio-xilinx 1 Edge PL_GPIO_PB_SW10_W 63: 2 0 0 0 gpio-xilinx 0 Edge PL_GPIO_PB_SW11_C - 64: 2 0 0 0 gpio-xilinx 7 Edge PL_GPIO_DIP_SW7 - 65: 2 0 0 0 gpio-xilinx 6 Edge PL_GPIO_DIP_SW6 - 66: 4 0 0 0 gpio-xilinx 5 Edge PL_GPIO_DIP_SW5 - 67: 2 0 0 0 gpio-xilinx 4 Edge PL_GPIO_DIP_SW4 - 68: 2 0 0 0 gpio-xilinx 3 Edge PL_GPIO_DIP_SW3 + 64: 20 0 0 0 gpio-xilinx 7 Edge PL_GPIO_DIP_SW7 + 65: 20 0 0 0 gpio-xilinx 6 Edge PL_GPIO_DIP_SW6 + 66: 2 0 0 0 gpio-xilinx 5 Edge PL_GPIO_DIP_SW5 + 67: 8 0 0 0 gpio-xilinx 4 Edge PL_GPIO_DIP_SW4 + 68: 4 0 0 0 gpio-xilinx 3 Edge PL_GPIO_DIP_SW3 69: 2 0 0 0 gpio-xilinx 2 Edge PL_GPIO_DIP_SW2 70: 2 0 0 0 gpio-xilinx 1 Edge PL_GPIO_DIP_SW1 71: 2 0 0 0 gpio-xilinx 0 Edge PL_GPIO_DIP_SW0 -IPI0: 64 26 87 38 Rescheduling interrupts -IPI1: 2163 6791 1243 5866 Function call interrupts +IPI0: 64 107 160 56 Rescheduling interrupts +IPI1: 2720 6763 3430 998 Function call interrupts IPI2: 0 0 0 0 CPU stop interrupts IPI3: 0 0 0 0 CPU stop (for crash dump) interrupts IPI4: 0 0 0 0 Timer broadcast interrupts IPI5: 0 0 0 0 IRQ work interrupts IPI6: 0 0 0 0 CPU wake-up interrupts Err: 0 -yocto-zynqmp-generic-20231:/home/petalinux# +yocto-zynqmp-generic:/home/petalinux# ``` --- ### Unloading PL bitstream or pdi and dt overlay * Zynq or ZynqMP ``` -yocto-zynqmp-generic-20231:/home/petalinux# fpgautil -R +yocto-zynqmp-generic:/home/petalinux# fpgautil -R ``` * Versal (DFx RP) ``` -- cgit v1.2.3-54-g00ecf From 3a9e2e03cafb8567689f5e45f81d933ff38cb649 Mon Sep 17 00:00:00 2001 From: Appana Durga Kedareswara rao Date: Mon, 4 Dec 2023 10:12:13 +0530 Subject: lopper: srcrev update for 2024.1 release Below are the updates openamp: xlnx: Add support for Versal NET assists:baremetalconfig_xlnx: Update logic to get correct PCI range lopper: assists: baremetal_xlnx*: Add support for the Generic Interrupt ID lopper: assists: bmcmake_metadata_xlnx: Add support for XPAR_CPU_ID in cmake meta-data Signed-off-by: Appana Durga Kedareswara rao Signed-off-by: Mark Hatle --- .../virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend index bad8b8ac..0e81527d 100644 --- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend @@ -1,5 +1,5 @@ SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=master;protocol=https" -SRCREV = "c1f4c15629e4463f0c5f05f8a476b57949e20bc5" +SRCREV = "0e640aae7b128347d9b72f8f03e995bc19ce06a8" FILESEXTRAPATHS:prepend := "${THISDIR}/lopper:" -- cgit v1.2.3-54-g00ecf From 0fb2f184a44620bc309bd64fc7ba7778d5472578 Mon Sep 17 00:00:00 2001 From: Swagath Gadde Date: Wed, 6 Dec 2023 14:30:53 +0530 Subject: versal-net-openamp.dtsi: correct the device-tree syntax resolve the syntax issue in versal-net-openamp.dtsi. Signed-off-by: Swagath Gadde Signed-off-by: Mark Hatle --- .../recipes-bsp/device-tree/files/versal-net-openamp.dtsi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/versal-net-openamp.dtsi b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/versal-net-openamp.dtsi index d5b339a3..5aa73798 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/versal-net-openamp.dtsi +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/versal-net-openamp.dtsi @@ -120,9 +120,9 @@ #size-cells = <0x2>; ranges; sram = <&tcm_1a>, <&tcm_1b>, <&tcm_1c>; - memory-region = <&rproc_1_reserved>, &rpu1vdev0buffer>, <&rpu1vdev0vring0>, <&rpu1vdev0vring1>; + memory-region = <&rproc_1_reserved>, <&rpu1vdev0buffer>, <&rpu1vdev0vring0>, <&rpu1vdev0vring1>; power-domain = <&versal_net_firmware 0x181100C0>; - mboxes = <&ipi_mailbox_rpu0 0>, &ipi_mailbox_rpu0 1>; + mboxes = <&ipi_mailbox_rpu0 0>, <&ipi_mailbox_rpu0 1>; mbox-names = "tx", "rx"; }; }; -- cgit v1.2.3-54-g00ecf From d0669512c40fa807ea956813e3b62eee2ec66dcc Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Sat, 9 Dec 2023 12:30:10 +0530 Subject: Updated Commit ID project_config.py: Add PETALINUX config into Kconfig *-descriptions.tcl: Update menuconfig to menu for Subsystem AUTO Hardware Settings Kconfig.*: Kconfig files Kconfig.part: Split Kconfig.part file Signed-off-by: Siva Addepalli --- meta-xilinx-core/gen-machine-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf index 53d708d5..e2e82441 160000 --- a/meta-xilinx-core/gen-machine-conf +++ b/meta-xilinx-core/gen-machine-conf @@ -1 +1 @@ -Subproject commit 53d708d50b9354963d932cba7a03f2b5f18145c6 +Subproject commit e2e824416596ba9573fbed6246aff878116f6a17 -- cgit v1.2.3-54-g00ecf From 97bbc63a18a1d537be3b672f9a2f31add4876304 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 11 Dec 2023 19:21:13 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_6091 xilffs: Fix to use BaseAddress instead of DeviceId in SDT flow clk_wiz: Update the user clock parameters xclk_wiz: Update the PrimInFreq sdps: Add support for Sanitize feature sw_services:xilsecure:Replace Xil_SMemSet with Xil_SecureZeroize sw_services: xilsecure: Provide inputs as string instead of byte array sw_services: xilnvm: Support for reading and writing PMC_SC_EN and HWTSTBITS_DIS eFuse bits Revert inadvertent license update xilpm: versal_net: fix doxygen warnings dp14txss:examples:Add support for system device-tree flow dp14txss:kcu_dp14:Add support for system device-tree flow dp14txss:zcu_pt_dp14_mst:Add support for system device-tree flow dp14txss:pt_only:Add support for system device-tree flow dp14txss:tx_only: Add support for system device-tree flow dp14txss: Add support for system device-tree flow dp14txss: Add support for system device-tree flow Revert "xilloader: Added code to Verify Address Range" versal_psmfw: versal_net: Fix MISRA C violation 17.8 versal_psmfw: versal_net: Fix MISRA-C violation 10.1 versal_psmfw: versal_net: Fix Misra violation 7.2 versal_psmfw: versal_net: Fix Misra-C violation 12.1 versal_psmfw: versal_net: Fix Misra-c violation 10.4 versal_psmfw: versal_net: Fix Misra-C violation 10.3 versal_psmfw: versal_net: Fix MISRA-C violation 2.5 dp14rxss:rx_only: Add system device-tree support for application example esw: remove references to pg flag from bsp if present dmaps: Remove unused variable lwip220 : update lwip apps to use the new library. lwip220: Copy examples folder lwip220 : Port AMD specific lwip changes to source lwip220 : Copy Existing contrib folder lwip220 : Add lwip 2.2.0 base source lwip213: Revert lwip213 1.2 version xilloader: Added code to Verify Address Range xilpm: versal_net: Add HNICX_DPU BISR support xilsem:Library update for SDT fixes and range table size fix in NPI scan --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 96b34d0d..592176c9 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "b74224f59aa272ec5962fb7763ebf9d8edeca415" +ESW_REV[2024.1] = "66a1d369d9a44407c144d33eeb70178c0b444c52" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 57419de5362fef1a2d66a48089d749b7b42336ba Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Tue, 12 Dec 2023 12:30:11 +0530 Subject: Updated Commit ID multiconfigs.py: Add mc support for cortexa78 sdt-description.tcl: Add psx cortexa78 support sdt_ipinfo.yaml: Add cortexa78 processor data sdt_flow.py: Use processor type instead of soc family Signed-off-by: Siva Addepalli --- meta-xilinx-core/gen-machine-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf index e2e82441..0fbf2132 160000 --- a/meta-xilinx-core/gen-machine-conf +++ b/meta-xilinx-core/gen-machine-conf @@ -1 +1 @@ -Subproject commit e2e824416596ba9573fbed6246aff878116f6a17 +Subproject commit 0fbf213255fa81f983d1cb27de8b1df84c480b67 -- cgit v1.2.3-54-g00ecf From 9c994529fa2274d7b6c37c238566e5db52e2481e Mon Sep 17 00:00:00 2001 From: saumya garg Date: Thu, 7 Dec 2023 12:15:44 +0530 Subject: xrt, zocl: Update commit id Changelog: Create file with unique name to dump usage metrics (#7831) Add warning exceptions for early returns (#7818) Fix for UE-59646- 2024.1:INFO: ERROR (#7829) AIE Trace implementation for client devices (#7802) aie_profile samples incremental report writer (#7803) Moving get_xrt_build_info into sysinfo and updating profiling call (#7821) Clean up Windows export directives in debug/profiling library (#7814) VITIS-9655 Move code from host files to Test*.cpp (#7746) Indent changes (#7817) [OS] missing condition for RHEL 8.9 (#7816) Check for SC existence before checking for SC ready state (#7809) VITIS-9991 - Removing boost::filesystem P5 (#7815) VITIS-10045 - Merge 2 patchers (#7807) added temp fixes to write ap_start twice (#7811) Fix issue in AIE metadata parsing for profiling (#7812) Signed-off-by: saumya garg Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-xrt/xrt/xrt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc index d66de000..508a8377 100644 --- a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc @@ -3,7 +3,7 @@ BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != ' SRC_URI = "${REPO};${BRANCHARG};name=xrt" BRANCH= "master" -SRCREV_xrt = "5a45c158a3584c52c886486a1069cadcd6b9e970" +SRCREV_xrt = "8eefcb786750b1f0d8c6d1da5b5c28fbd0c465fa" PV = "202320.2.16.0" SRC_URI += "git://github.com/Xilinx/dma_ip_drivers.git;branch=master;name=dma_ip_drivers;destsuffix=git/src/runtime_src/core/pcie/driver/linux/xocl/lib/libqdma;protocol=https" -- cgit v1.2.3-54-g00ecf From 74170291302de2ca87b213fdb50b5067ba328a6e Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Wed, 13 Dec 2023 12:30:11 +0530 Subject: Updated Commit ID Add support petalinux to pick boot.scr script address from dt for jtag Signed-off-by: Siva Addepalli --- meta-xilinx-core/gen-machine-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf index 0fbf2132..27cdbda9 160000 --- a/meta-xilinx-core/gen-machine-conf +++ b/meta-xilinx-core/gen-machine-conf @@ -1 +1 @@ -Subproject commit 0fbf213255fa81f983d1cb27de8b1df84c480b67 +Subproject commit 27cdbda9e3f4fecb99f9faa3dc0da04d5362f6e8 -- cgit v1.2.3-54-g00ecf From 1b745db7fa4247109ede75bb4ba7af7dafbc5544 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 14 Dec 2023 16:08:50 +0530 Subject: linux-xlnx : Updated SRCREV for 2024.1_8343 remoteproc: zynqmp_r5: Add Support for Versal-NET SOC with max remotes Revert "mtd: fixing CFI for Numonyx CFI bug" --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index d533667e..339dd6d6 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.1.0" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.1;destsuffix=yocto-kmeta" KBRANCH="master" -SRCREV = "630189d068befb935945a8447468c5dd04d12623" +SRCREV = "f2ed197d32599460f6be14b537aa9343c158abfe" SRCREV_meta = "185bcfcbe480c742247d9117011794c69682914f" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From c4e6c7ea78011039adf8beb71753c74bfec0824d Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 14 Dec 2023 16:51:15 -1200 Subject: embeddedsw : Updated SRCREV for 2024.1_2739 mcdma: Add support for compiling driver examples in the Yocto flow zdma: Add support for compiling driver examples in the Yocto flow axivdma: Add support for compiling driver examples in the Yocto flow axicdma: Add support for compiling driver examples in the Yocto flow axidma: Add support for compiling driver example in Yocto flow iic: Update 10 bit address and gpo width parameters names in iic.yaml sw_services:xilsecure:Added single API support for GMAC and update AAD support for GCM sw_services:xilloader: Update PUF configuration from boot header sw_services:xilloader:Clear AES Keys when RedKey clear is set in PMC RAM wdttb: Remove compatible property check for winwdt examples sw_services:xilplmi:Disable Master interrupts for SSIT event sw_services: xilmailbox: clear interrupt after calling user handler xilloader: fixed SD macro for SDT support pciepsu: Fix space issue in pciepsu Endpoint driver dual_splitter: Add support for system device-tree flow dual_splitter: Add Support for System device-tree flow gpio: Add IER and GIER to xgpio_intr_tapp_example in SDT flow gpio: Update gpio driver version plm: versal_net: Added error support for OptionalDataLen Check scripts: pyesw: create_bsp: Fix the race condition in the _validate_inputs API v_csc driver: Fix for coefficients settings overridden. xilocp: Throw an error when data is in upper DDR if it is > 48 bytes --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 592176c9..0bbd95a1 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "66a1d369d9a44407c144d33eeb70178c0b444c52" +ESW_REV[2024.1] = "6a852ff79c851d2f74fffa29d27c66d13a87c5e0" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 1e96f111d22b08cab29fd28eb5260e1246ed453a Mon Sep 17 00:00:00 2001 From: Felix Kuhlmann Date: Tue, 12 Dec 2023 18:34:20 -0700 Subject: README.building.md: Correct minor typo in docs Based on github Pull Request #60. Signed-off-by: Felix Kuhlmann Update commit message and added PR number in commit message. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle (cherry picked from commit 02c3ae13bfb2b1c5cf82eebd4d60b339a5facb68) Signed-off-by: Mark Hatle --- README.building.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.building.md b/README.building.md index 10c246f9..28ba1b24 100644 --- a/README.building.md +++ b/README.building.md @@ -49,7 +49,7 @@ $ bitbake-layers add-layer .//meta-openembedded/meta-python $ bitbake-layers add-layer .//meta-openembedded/meta-filesystems $ bitbake-layers add-layer .//meta-openembedded/meta-networking $ bitbake-layers add-layer .//meta-virtualization -$ bitbake-layers add-layer .//meta-xilinx/meta-microbalze +$ bitbake-layers add-layer .//meta-xilinx/meta-microblaze $ bitbake-layers add-layer .//meta-xilinx/meta-xilinx-core $ bitbake-layers add-layer .//meta-xilinx/meta-xilinx-standalone $ bitbake-layers add-layer .//meta-xilinx/meta-xilinx-bsp -- cgit v1.2.3-54-g00ecf From 97adba8843b155aa352a0da41cdf176e004117eb Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Tue, 12 Dec 2023 21:10:23 -0700 Subject: docs: Fix firmware typos in README files Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle (cherry picked from commit af261af80cba3a3677d75c14cbc88ad16f1f45cb) Signed-off-by: Mark Hatle --- docs/README.dfx.user.dts.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/README.dfx.user.dts.md b/docs/README.dfx.user.dts.md index 228cc3c0..4294c5bb 100644 --- a/docs/README.dfx.user.dts.md +++ b/docs/README.dfx.user.dts.md @@ -184,12 +184,12 @@ SRC_URI = " \ 2. Create recipes-firmware directory in meta layer and copy the .bit/bin/pdi, .dtsi/dtbo, .json and .xclbin file to these directories. ``` -$ mkdir -p /recipes-fimrware//files -$ cp -r /*.{bit or bin or pdi, dtsi or dtbo, shell.json or accel.json and .xclbin} /recipes-fimrware//files +$ mkdir -p /recipes-firmware//files +$ cp -r /*.{bit or bin or pdi, dtsi or dtbo, shell.json or accel.json and .xclbin} /recipes-firmware//files ``` 3. Now create the recipes for flat or static or partial firmware using recipetool. ``` -$ recipetool create -o /recipes-fimrware//firmware-app-name.bb file:////recipes-fimrware//files +$ recipetool create -o /recipes-firmware//firmware-app-name.bb file:////recipes-firmware//files ``` 4. Modify the recipe and inherit dfx_user_dts bbclass as shown below. ``` -- cgit v1.2.3-54-g00ecf From f1e2e8eec576195f6128e9b660165447ab5f6174 Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Wed, 13 Dec 2023 12:47:04 +0530 Subject: Updated SRCREV of vcu-ctrl-sw for 2024.1_9983 chore: update to revision d20230920 fix: xavc beta/tc offset Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb index 6922605a..cce373d1 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb @@ -8,7 +8,7 @@ PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', BRANCH ?= "master" REPO ?= "git://github.com/Xilinx/vcu-ctrl-sw.git;protocol=https" -SRCREV = "16a81263ea1d13e04959942d18114c8ac98836b3" +SRCREV = "db03f28ddcc07d55fe5ee4125e9a316faca26835" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" -- cgit v1.2.3-54-g00ecf From 57df831e4e7dbe8e5591676e1647609736a55436 Mon Sep 17 00:00:00 2001 From: John Toomey Date: Wed, 13 Dec 2023 17:57:48 +0000 Subject: boot.cmd.*: Remove clk_ignore_unused from bootargs Signed-off-by: John Toomey Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.sd.versal | 2 +- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.sd.zynqmp | 2 +- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-uenv.bb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.sd.versal b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.sd.versal index d726187a..36a8f92d 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.sd.versal +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.sd.versal @@ -1,7 +1,7 @@ @@PRE_BOOTENV@@ setenv sdbootdev @@SDBOOTDEV@@ -setenv bootargs $bootargs root=/dev/mmcblk${sdbootdev}p2 rw rootwait earlycon clk_ignore_unused +setenv bootargs $bootargs root=/dev/mmcblk${sdbootdev}p2 rw rootwait earlycon fatload mmc $sdbootdev @@DEVICETREE_ADDRESS@@ @@DEVICE_TREE_NAME@@ fatload mmc $sdbootdev:$partid @@KERNEL_LOAD_ADDRESS@@ @@KERNEL_IMAGETYPE@@ @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ - @@DEVICETREE_ADDRESS@@ diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.sd.zynqmp b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.sd.zynqmp index bddab5d0..ac7438bb 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.sd.zynqmp +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.sd.zynqmp @@ -1,7 +1,7 @@ @@PRE_BOOTENV@@ setenv sdbootdev @@SDBOOTDEV@@ -setenv bootargs $bootargs root=/dev/mmcblk${sdbootdev}p2 rw rootwait earlycon clk_ignore_unused +setenv bootargs $bootargs root=/dev/mmcblk${sdbootdev}p2 rw rootwait earlycon if test -n "@@BITSTREAM@@"; then fatload mmc $sdbootdev @@BITSTREAM_LOAD_ADDRESS@@ @@BITSTREAM_IMAGE@@ && fpga @@BITSTREAM_LOAD_TYPE@@ 0 @@BITSTREAM_LOAD_ADDRESS@@ ${filesize} fi diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-uenv.bb b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-uenv.bb index 228396eb..1efc5392 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-uenv.bb +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-uenv.bb @@ -83,7 +83,7 @@ DEPENDS:append := " virtual/kernel ${@remove_task_from_depends(d)}" # bootargs, default to booting with the rootfs device being partition 2 KERNEL_BOOTARGS:zynq = "earlyprintk console=ttyPS0,115200 root=/dev/mmcblk0p2 rw rootwait" -KERNEL_BOOTARGS:zynqmp = "earlycon clk_ignore_unused root=/dev/mmcblk${devnum}p2 rw rootwait" +KERNEL_BOOTARGS:zynqmp = "earlycon root=/dev/mmcblk${devnum}p2 rw rootwait" KERNEL_LOAD_ADDRESS:zynq = "0x2080000" KERNEL_LOAD_ADDRESS:zynqmp = "0x200000" -- cgit v1.2.3-54-g00ecf From d465072da0fd2fd3e4525cf523030aa5b8300b75 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 19 Dec 2023 15:37:05 +0530 Subject: linux-xlnx : Updated SRCREV for 2024.1_8467 Revert "firmware: xilinx: add support for Versal NET" arm64: xilinx: Do not use _ in DT node names arm64: zynqmp: Comment all iommus entries arm64: zynqmp: Add L2 cache nodes arm64: zynqmp: Describe interrupts by using macros arm64: zynqmp: Replace all xilinx.com emails by amd.com arm64: xilinx: Use bootph-all instead of u-boot,dm-pre-reloc fpga: zynqmp-fpga: Adds status interface firmware: xilinx: Add pm api function for PL config reg readback Revert "fpga: mgr: Update the status for fpga-manager" --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index 339dd6d6..9b3b6e95 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.1.0" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.1;destsuffix=yocto-kmeta" KBRANCH="master" -SRCREV = "f2ed197d32599460f6be14b537aa9343c158abfe" +SRCREV = "2fa7282511eb1422551a9f4d9b8b0073e2c38c0b" SRCREV_meta = "185bcfcbe480c742247d9117011794c69682914f" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From 8ddf34020bbdccb6e79872bacf66bfe397d8b053 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 20 Dec 2023 12:52:30 +0530 Subject: aie-rt : Updated SRCREV for 2024.1_8947 driver:src: Added support for soft partition. --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index 772f363f..85f4f5e5 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "main-aie" -SRCREV ?= "0a70952c12f368c3b8fdeb50687022122c4e6647" +SRCREV ?= "336f76ecc7cf3852bd4c85d80ad1010a3565b3f2" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From 1dac5bab2f7a641c4eb89241f2ef441cb1584b3e Mon Sep 17 00:00:00 2001 From: Sergei Korneichuk Date: Thu, 14 Dec 2023 16:48:40 -0800 Subject: libmetal-xlnx: Update branch to 2024 The 2024 branch is a rebase onto the upstream release 2023.10.0. Changelog since xlnx_rel_v2023.2: The rebased 15 commits: examples: linux: zynqmp: Remove MB definition examples: freertos: define xInterruptController in System Device Tree Flow test: linux: add test for multiple IO regions log: default to function, line number prefix log: update ML_ERR, ML_INFO, ML_DBG macros examples: linux: add an option to set debug log level libmetal: amp_demo: improve performance measurement examples: freertos: zynqmp_r5: dynamically set TTC and IPI vars examples: generic: zynqmp_r5: dynamically set TTC and IPI vars examples: linux: zynqmp_r5: dynamically set TTC and IPI vars examples: linux: libmetal_amp_demod: add macro guards for IPI examples: linux: zynqmp: Use IPI commit API examples: linux: add IPI with R5 rproc kick sysfs impelmentation examples: linux: zynqmp: Add IPI uio based API implementation examples: linux: zynqmp: Introduce common IPI APIs The upstream 36 commits: release: libmetal 2023.10.0 CI: Zephyr: Get latest version of the zephyr sdk github action: Fix stales action to not close PR/issue after 7 days lib: freertos: consolidate common Xilinx code lib: generic: consolidate common Xilinx code lib: a53: remove redundant MB and GB macros Remove vim editor configuration in files CI: Zephyr: Only fetch needed branches instead of everything CI: Fix entrypoint indentation CI: Zephyr build: Be less verbose Fix Zephyr testcase with latest Zephyr log: add function name, line number prefix github action: add stales action README: Point people to the offical docs not the wiki Docs: fix for the readthedocs PR rendering Docs: style doxygen when built as part of OpenAMP docs Docs: enable readthedocs rendering (for PRs) Fix typo in MAINTAINERS.md text Move libmetal Wiki link to Overview section CI: Fix Zephyr build by updating Zephyr SDK version to 0.16.1 lib: utilities: add MB and GB defines lib: system: freertos: Add metal/errno.h to match standalone Export each of the memory_order enumerators lib: refactor alloc.h to not need forward declaration Add reference count to metal_common_state CI: Fix checkpatch lib: add support for A78 Baremetal lib: add support for A72 Baremetal CI: fix zephyr build issue related to the VERSION file CI: update checkout action to V3 release: open-amp 2023.04.0 CI: fix zephyr cmake error "No prj.conf file was found" checkpatch: fix TYPO_SPELLING check for words with apostrophe lib: system: freertos: remove deprecated METAL_MUTEX_INIT nuttx: Add missing include header in IRQ implementation readme: Fix broken openamp-rp mailing list link Signed-off-by: Sergei Korneichuk Signed-off-by: Mark Hatle --- .../openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb index 306c17a7..787a7327 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb @@ -1,6 +1,6 @@ SRCBRANCH ?= "2023.2" -SRCREV = "73cbfb0695cdc21f2afd7a2c347c7f2d9b5dc71e" -BRANCH = "2023" +SRCREV = "7c88ee6342b0a141fd076a8a49c518b57b3517ac" +BRANCH = "2024" LIC_FILES_CHKSUM ?= "file://LICENSE.md;md5=f4d5df0f12dcea1b1a0124219c0dbab4" PV = "${SRCBRANCH}+git${SRCPV}" -- cgit v1.2.3-54-g00ecf From ee635d6b2bd106741ce7199a06a6a36f9f0b33fc Mon Sep 17 00:00:00 2001 From: Sergei Korneichuk Date: Thu, 14 Dec 2023 16:48:41 -0800 Subject: open-amp-xlnx: Update branch to 2024 The 2024 branch is a rebase onto the upstream release 2023.10.0. Changelog since xlnx_rel_v2023.2: The rebased 9 commits: log: default to function, line number prefix service: rpmsg_rpc: fix build error apps: zynq7: Wrap symbols in SDT apps: rpmsg-echo: poll on vdev reset flag apps: platform_info: add API for vdev reset flag apps: zynq7: Move App specific variables to platform_info.h apps: zynqmp: Move App specific variables to platform_info.h apps: zynqmp_r5: Move App specific variables to platform_info.h apps: add remoteproc trace buffer The upstream 43 commits: release: open-amp 2023.10.0 README: add line wrap for line containing more than 100 characters. README: Point people to the official open-amp doc instead of the wiki github action: Fix stales action to not close PR/issue after 7 days virtio: Fix delete_virtqueues function virtio: make unused function virtio_describe() deprecated Docs: style doxygen when built as part of OpenAMP docs github action: add stales action virtio: Add virtio_dev_name function description virtio: Complete virtio and virtqueue structures Doxygen description Docs: enable readthedocs rendering (for PRs) Refactor VRING macros for AMP VIRTIO Doxygen updates for data structures options: add option for all cache operations virtqueue: define a common cache flush/invalidate rpmsg: buffers flush/invalidate virtqueue: move VRING_FLUSH and VRING_INVALIDATE to header options: fix typo CI: Fix Zephyr build by updating Zephyr SDK version to 0.16.1 virtio: virtio-mmio framework README: add new cache option for resource table remoteproc: do cache invalidation before reading rsc_table info virtio: add create_virtqueues and delete_virtqueues in virtio_dispatch CI: Fix checkpatch virtio: follow virtio v1.2 spec, add more virtio status and device id CI: update checkout action to V3 apps: zynqmp: Add Versal_net IPI values. release: open-amp 2023.04.0 Updates to Doxyfile Function header description consistency version: use generated version_def.h checkpatch: fix TYPO_SPELLING check for words with apostrophe rpmsg: add cache flash when return rx buffer zynq7, microblaze resource table: virtio notifyid lib:Fix atomic_flag error for clang compilation apps:Fix atomic_flag error for clang compilation rpmsg: do cache_invalidate() when real data returned openamp: fix remoteproc_load_noblock hasn't update rsc_io readme: Fix broken openamp-rp mailing list link Added build for Doxygen docs CI: add more build warning checks and force them to error. apps: Fix warnings about declaration of shadows variables CI: fix Zephyr build issue resulting from the introduction of sysbuild Signed-off-by: Sergei Korneichuk Signed-off-by: Mark Hatle --- .../openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb index 0392bd86..ce89d764 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb @@ -1,6 +1,6 @@ SRCBRANCH ?= "2023.2" -SRCREV = "e95b02aef72a21039b1d109087788d4675475813" -BRANCH = "2023" +SRCREV = "e90bcceb46642a815ce821d5d4399f5eaf78e9b3" +BRANCH = "2024" LIC_FILES_CHKSUM ?= "file://LICENSE.md;md5=ab88daf995c0bd0071c2e1e55f3d3505" PV = "${SRCBRANCH}+git${SRCPV}" REPO = "git://github.com/Xilinx/open-amp.git;protocol=https" -- cgit v1.2.3-54-g00ecf From 036b989385188ecb202416a7bdce57bbbceb6951 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Fri, 15 Dec 2023 22:27:08 -0700 Subject: dfx_user_dts.bbclass: Add bit or bin or pdi only packaging 1. Add support for packaging bit or bin or pdi only. 2. Fix logic for bit or bin found by adding space in search key, If user has .bit.bin file as input then both .bit and .bin was set to trun. In SRC_URI between two files there will be a space. 3. Remove versal soc family check condition and inverse the logic with zynq and zynqmp to support next generation silicon devices. 4. Fix UnboundLocalError: local variable 'dts_file' referenced before assignment. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- .../classes-recipe/dfx_user_dts.bbclass | 129 +++++++++++++-------- 1 file changed, 81 insertions(+), 48 deletions(-) diff --git a/meta-xilinx-core/classes-recipe/dfx_user_dts.bbclass b/meta-xilinx-core/classes-recipe/dfx_user_dts.bbclass index bde5be5d..c20cd8f7 100644 --- a/meta-xilinx-core/classes-recipe/dfx_user_dts.bbclass +++ b/meta-xilinx-core/classes-recipe/dfx_user_dts.bbclass @@ -50,37 +50,46 @@ python() { pdi_found = False # Required Inputs - if '.dtsi' in d.getVar("SRC_URI") or '.dts' in d.getVar("SRC_URI"): + if '.dtsi ' in d.getVar("SRC_URI") or '.dts ' in d.getVar("SRC_URI"): dtsi_found = True d.setVar("DTSI_PATH",os.path.dirname([a for a in d.getVar('SRC_URI').split() if '.dtsi' in a or '.dts' in a][0].lstrip('file://'))) - if '.dtbo' in d.getVar("SRC_URI"): + if '.dtbo ' in d.getVar("SRC_URI"): dtbo_found = True d.setVar("DTBO_PATH",os.path.dirname([a for a in d.getVar('SRC_URI').split() if '.dtbo' in a][0].lstrip('file://'))) - if '.bit' in d.getVar("SRC_URI") and soc_family != "versal": - bit_found = True - d.setVar("BIT_PATH",os.path.dirname([a for a in d.getVar('SRC_URI').split() if '.bit' in a][0].lstrip('file://'))) + if soc_family == "zynq" or soc_family == "zynqmp": + if '.bit ' in d.getVar("SRC_URI"): + bit_found = True + d.setVar("BIT_PATH",os.path.dirname([a for a in d.getVar('SRC_URI').split() if '.bit' in a][0].lstrip('file://'))) - if '.bin' in d.getVar("SRC_URI") and soc_family != "versal": - bin_found = True - d.setVar("BIN_PATH",os.path.dirname([a for a in d.getVar('SRC_URI').split() if '.bin' in a][0].lstrip('file://'))) - - if '.pdi' in d.getVar("SRC_URI") and soc_family == "versal": - pdi_found = True - d.setVar("PDI_PATH",os.path.dirname([a for a in d.getVar('SRC_URI').split() if '.pdi' in a][0].lstrip('file://'))) + if '.bin ' in d.getVar("SRC_URI"): + bin_found = True + d.setVar("BIN_PATH",os.path.dirname([a for a in d.getVar('SRC_URI').split() if '.bin' in a][0].lstrip('file://'))) + else: + if '.pdi ' in d.getVar("SRC_URI"): + pdi_found = True + d.setVar("PDI_PATH",os.path.dirname([a for a in d.getVar('SRC_URI').split() if '.pdi' in a][0].lstrip('file://'))) # Check for valid combination of input files in SRC_URI - if dtsi_found or dtbo_found: - bb.debug(2, "dtsi or dtbo found in SRC_URI") - if bit_found or pdi_found or bin_found: - bb.debug(2, "bitstream or pdi found in SRC_URI") - elif bit_found and bin_found: + # Skip recipe if any of the below conditions are not satisfied. + # 1. At least one bit or bin or pdi or dts or dtsi or dtbo should exists. + # 2. More than one dtbo. + # 3. More than one bit or bin or pdi. + # 4. More than one dts and zero dtsi. + # 5. More than one dtsi and zero dts. + if dtsi_found or dtbo_found or bit_found or bin_found or pdi_found: + bb.debug(2, "dtsi or dtbo or bitstream or pdi found in SRC_URI") + if bit_found and pdi_found : + raise bb.parse.SkipRecipe("Both '.bit' and '.pdi' file found in SRC_URI, this is invalid use case.") + + if bin_found and pdi_found : + raise bb.parse.SkipRecipe("Both '.bin' and '.pdi' file found in SRC_URI, this is invalid use case.") + + if bit_found and bin_found: raise bb.parse.SkipRecipe("Both '.bit' and '.bin' file found in SRC_URI, either .bit or .bin file is supported but not both.") - else: - raise bb.parse.SkipRecipe("Need one '.bit' or one '.pdi' file added to SRC_URI ") else: - raise bb.parse.SkipRecipe("Need one '.dtsi' or one '.dtbo' file added to SRC_URI ") + raise bb.parse.SkipRecipe("Need one '.dtsi' or '.dtbo' or '.bit' or '.bin' or '.pdi' file added to SRC_URI ") # Check for valid combination of dtsi and dts files in SRC_URI # Following file combinations are not supported use case. @@ -97,10 +106,10 @@ python() { raise bb.parse.SkipRecipe("Recipe has more than one '.dts' and zero or more than one '.dtsi' found, this is an unsupported use case") # Optional input - if '.json' in d.getVar("SRC_URI"): + if '.json ' in d.getVar("SRC_URI"): d.setVar("JSON_PATH",os.path.dirname([a for a in d.getVar('SRC_URI').split() if '.json' in a][0].lstrip('file://'))) - if '.xclbin' in d.getVar("SRC_URI"): + if '.xclbin ' in d.getVar("SRC_URI"): d.setVar("XCL_PATH",os.path.dirname([a for a in d.getVar('SRC_URI').split() if '.xclbin' in a][0].lstrip('file://'))) } @@ -144,10 +153,10 @@ python do_configure() { with open(new_dtsi, 'w') as newdtsi: with open(orig_dtsi) as olddtsi: for line in olddtsi: - if soc_family == 'versal': - newdtsi.write(re.sub('firmware-name.*\".*\"','firmware-name = \"'+d.getVar('PN')+'.pdi\"',line)) - else: + if soc_family == 'zynq' or soc_family == 'zynqmp': newdtsi.write(re.sub('firmware-name.*\".*\"','firmware-name = \"'+d.getVar('PN')+'.bin\"',line)) + else: + newdtsi.write(re.sub('firmware-name.*\".*\"','firmware-name = \"'+d.getVar('PN')+'.pdi\"',line)) shutil.move(new_dtsi,orig_dtsi) } @@ -166,7 +175,7 @@ python devicetree_do_compile:append() { # In case of dtbo as input, bbclass doesn't know if firmware-name is .bit # or .bin format and corresponding file name. Hence we are not doing .bin # conversion. - if soc_family != 'versal' and glob.glob(d.getVar('S') + '/' + d.getVar('FIRMWARE_NAME_DT_FILE')): + if soc_family == 'zynq' or soc_family == 'zynqmp' and glob.glob(d.getVar('S') + '/' + d.getVar('FIRMWARE_NAME_DT_FILE')): pn = d.getVar('PN') biffile = pn + '.bif' @@ -199,16 +208,24 @@ python devicetree_do_compile:append() { python find_user_dts_overlay_file() { import glob dtbo_count = sum(1 for f in glob.iglob((d.getVar('S') + '/*.dtbo'),recursive=True) if os.path.isfile(f)) - # Skip if input file is dtbo in SRC_URI - if not dtbo_count: + dts_count = sum(1 for f in glob.iglob((d.getVar('S') + '/*.dts'),recursive=True) if os.path.isfile(f)) + dtsi_count = sum(1 for f in glob.iglob((d.getVar('S') + '/*.dtsi'),recursive=True) if os.path.isfile(f)) + # Set USER_DTS_FILE if input file is dts/dtsi in SRC_URI else skip operation. + if not dtbo_count and dts_count or dtsi_count: dts_count = get_dt_count(d, 'dts') dtsi_count = get_dt_count(d, 'dtsi') if dtsi_count == 1 and dts_count == 0: - dts_file =glob.glob(d.getVar('S')+ (d.getVar('DTSI_PATH') or '') + '/*.dtsi')[0] + dts_file = glob.glob(d.getVar('S')+ (d.getVar('DTSI_PATH') or '') + '/*.dtsi')[0] elif dtsi_count >=0 and dts_count == 1: dts_file = glob.glob(d.getVar('S')+ (d.getVar('DTSI_PATH') or '') + '/*.dts')[0] + else: + dts_file = '' d.setVar('USER_DTS_FILE', os.path.splitext(os.path.basename(dts_file))[0]) + elif dtbo_count: + bb.debug(2, "Firmware recipe input file is dtbo in SRC_URI") + else: + bb.debug(2, "Firmware recipe input file is bit/bin/pdi in SRC_URI") } do_install[prefuncs] += "find_user_dts_overlay_file" @@ -216,8 +233,12 @@ do_install[prefuncs] += "find_user_dts_overlay_file" do_install() { install -d ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/ + # Install dtbo # In case of dtbo as input, dtbo will be copied from directly from ${S} # In case of dtsi as input, dtbo will be copied from directly from ${B} + # If more than one dtbo file is found then fatal the task. + # If no dtbo file is found add warning message as in some use case if IP + # doesn't have any driver then user can load pdi/bit/bin file. if [ `ls ${S}/*.dtbo | wc -l` -eq 1 ]; then install -Dm 0644 ${S}/*.dtbo ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/ elif [ `ls ${S}/*.dtbo | wc -l` -gt 1 ]; then @@ -225,32 +246,23 @@ do_install() { elif [ -f ${B}/${USER_DTS_FILE}.dtbo ]; then install -Dm 0644 ${B}/${USER_DTS_FILE}.dtbo ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/${PN}.dtbo else - bbfatal "A dtbo ending '.dtbo' expected but not found" + bbnote "A dtbo ending '.dtbo' expected but not found in ${S} or ${B}, This means firmware can be loaded without dtbo dependency." fi - if [ "${SOC_FAMILY}" == "versal" ]; then - # In case of dtbo as input, pdi will be copied from directly from ${S} - # without renaming the pdi name to ${PN}.pdi - if [ `ls ${S}/*.pdi | wc -l` -eq 1 ] && [ `ls ${S}/*.dtbo | wc -l` -eq 1 ]; then - install -Dm 0644 ${S}/*.pdi ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/ - elif [ `ls ${S}/*.pdi | wc -l` -gt 1 ]; then - bbfatal "Multiple PDI found, use the right PDI in SRC_URI from the following:\n$(basename -a ${S}/*.pdi)" - elif [ `ls ${S}/*.pdi | wc -l` -eq 1 ] && [ -f ${B}/${USER_DTS_FILE}.dtbo ]; then - install -Dm 0644 ${S}/*.pdi ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/${PN}.pdi - else - bbfatal "A PDI file with '.pdi' expected but not found" - fi - else - # In case of dtbo as input, .bit or .bin will be copied from directly - # from ${S} without renaming the .bit/.bin name to ${PN}.bit/${PN}.bin - # if more than one .bit/.bin file is found then fail the task. + # Install bit or bin if soc family is zynq-7000 or zynqmp. + # In case of dtbo as input or no dtbo exists in ${B}, then .bit or .bin will + # be copied from directly from ${S} without renaming the .bit/.bin name to + # ${PN}.bit/${PN}.bin. + # if more than one .bit/.bin file is found then fatal the task. + # if no .bit/.bin file is found then fatal the task. + if [ "${SOC_FAMILY}" = "zynq" ] || [ "${SOC_FAMILY}" = "zynqmp" ]; then if [ `ls ${S}/*.bit | wc -l` -gt 1 ]; then bbfatal "Multiple .bit found, use the right .bit in SRC_URI from the following:\n$(basename -a ${S}/*.bit)" elif [ `ls ${S}/*.bin | wc -l` -gt 1 ]; then bbfatal "Multiple .bin found, use the right .bin in SRC_URI from the following:\n$(basename -a ${S}/*.bin)" - elif [ `ls ${S}/*.bit | wc -l` -eq 1 ] && [ `ls ${S}/*.dtbo | wc -l` -eq 1 ]; then + elif [ `ls ${S}/*.bit | wc -l` -eq 1 ] && [ ! -f ${B}/${USER_DTS_FILE}.dtbo ]; then install -Dm 0644 ${S}/*.bit ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/ - elif [ `ls ${S}/*.bin | wc -l` -eq 1 ] && [ `ls ${S}/*.dtbo | wc -l` -eq 1 ]; then + elif [ `ls ${S}/*.bin | wc -l` -eq 1 ] && [ ! -f ${B}/${USER_DTS_FILE}.dtbo ]; then install -Dm 0644 ${S}/*.bin ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/ elif [ -f ${B}/${PN}.bin ] && [ -f ${B}/${USER_DTS_FILE}.dtbo ]; then install -Dm 0644 ${B}/${PN}.bin ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/${PN}.bin @@ -259,10 +271,31 @@ do_install() { fi fi + # Install pdi if soc family is versal or new silicon. + # In case of dtbo as input or no dtbo exists in ${B}, then .pdi will be copied + # from directly from ${S} without renaming the pdi name to ${PN}.pdi + # if more than one .pdi file is found then fail the task. + # In case of Versal DFx Static, only static dtbo can be loaded as BOOT.bin + # already contains static pdi. bbclass is not smart enough to determine + # whether it is static pdi or not, hence change fatal to warn if no PDI is found. + if [ "${SOC_FAMILY}" != "zynq" ] && [ "${SOC_FAMILY}" != "zynqmp" ]; then + if [ `ls ${S}/*.pdi | wc -l` -eq 1 ] && [ ! -f ${B}/${USER_DTS_FILE}.dtbo ]; then + install -Dm 0644 ${S}/*.pdi ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/ + elif [ `ls ${S}/*.pdi | wc -l` -gt 1 ]; then + bbfatal "Multiple PDI found, use the right PDI in SRC_URI from the following:\n$(basename -a ${S}/*.pdi)" + elif [ `ls ${S}/*.pdi | wc -l` -eq 1 ] && [ -f ${B}/${USER_DTS_FILE}.dtbo ]; then + install -Dm 0644 ${S}/*.pdi ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/${PN}.pdi + else + bbwarn "A PDI file with '.pdi' expected but not found" + fi + fi + + # Install xclbin if ls ${S}/${XCL_PATH}/*.xclbin >/dev/null 2>&1; then install -Dm 0644 ${S}/${XCL_PATH}/*.xclbin ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/${PN}.xclbin fi + # Install shell.json or accel.json if [ -f ${S}/${JSON_PATH}/shell.json ] || [ -f ${S}/${JSON_PATH}/accel.json ]; then install -Dm 0644 ${S}/${JSON_PATH}/*.json ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/ fi -- cgit v1.2.3-54-g00ecf From ca874f373a0f3c6e463262ada7164136aa66b63e Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Fri, 15 Dec 2023 22:27:09 -0700 Subject: README.dfx.user.dts.md: Update bit or bin or pdi only usage Update README file with bit or bin or pdi usage only. Also add Versal Segmented Configuration usage. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- docs/README.dfx.user.dts.md | 107 ++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 104 insertions(+), 3 deletions(-) diff --git a/docs/README.dfx.user.dts.md b/docs/README.dfx.user.dts.md index 4294c5bb..7b6682f7 100644 --- a/docs/README.dfx.user.dts.md +++ b/docs/README.dfx.user.dts.md @@ -16,11 +16,12 @@ following use cases. > **Note:** Refer https://github.com/Xilinx/dfx-mgr/blob/master/README.md for > shell.json and accel.json file content. -* **Zynq-7000 and ZynqMP**: - * Design: Vivado flat design. - * Input files to firmware recipes: .bit or .bin, .dtsi or dtbo and shell.json (optional) +* **Zynq 7000, ZynqMP and Versal**: + * Design: Vivado flat or Segmented Configuration design. + * Input files to firmware recipes: .bit or .bin or _pld.pdi, .dtsi or dtbo and shell.json (optional) * Usage Examples: ``` +# Zynq 7000 or ZynqMP flat design SRC_URI = " \ file://.bit \ file://.dtsi \ @@ -29,13 +30,16 @@ SRC_URI = " \ ``` ``` +# Zynq 7000 or ZynqMP flat design SRC_URI = " \ file://.bit \ file://.dtbo \ file://shell.json \ " ``` + ``` +# Zynq 7000 or ZynqMP flat design SRC_URI = " \ file://.bin \ file://.dtsi \ @@ -44,6 +48,7 @@ SRC_URI = " \ ``` ``` +# Zynq 7000 or ZynqMP flat design SRC_URI = " \ file://.bin \ file://.dtbo \ @@ -51,6 +56,48 @@ SRC_URI = " \ " ``` +``` +# Zynq 7000 or ZynqMP flat design +SRC_URI = " \ + file://.bit \ + file://shell.json \ + " +``` + +``` +# Zynq 7000 or ZynqMP flat design +SRC_URI = " \ + file://.bin \ + file://shell.json \ + " +``` + +``` +# Versal Segmented Configuration design +SRC_URI = " \ + file://_pld.pdi \ + file://_pld.dtsi \ + file://shell.json \ + " +``` + +``` +# Versal Segmented Configuration design +SRC_URI = " \ + file://_pld.pdi \ + file://_pld.dtbo \ + file://shell.json \ + " +``` + +``` +# Versal Segmented Configuration design +SRC_URI = " \ + file://_pld.pdi \ + file://shell.json \ + " +``` + * **ZynqMP and Versal**: * Design: Vivado DFx design. * Input files to firmware recipes: .bit/bin(ZynqMP) or .pdi(Versal), .dtsi or dtbo @@ -97,6 +144,24 @@ SRC_URI = " \ " ``` +``` +# ZynqMP DFx Static +SRC_URI = " \ + file://.bit \ + file://shell.json \ + file://.xclbin \ + " +``` + +``` +# ZynqMP DFx Static +SRC_URI = " \ + file://.bin \ + file://shell.json \ + file://.xclbin \ + " +``` + ``` # ZynqMP DFx RP SRC_URI = " \ @@ -137,6 +202,24 @@ SRC_URI = " \ " ``` +``` +# ZynqMP DFx RP +SRC_URI = " \ + file://.bit \ + file://accel.json \ + file://.xclbin \ + " +``` + +``` +# ZynqMP DFx RP +SRC_URI = " \ + file://.bin \ + file://accel.json \ + file://.xclbin \ + " +``` + ``` # Versal DFx Static SRC_URI = " \ @@ -157,6 +240,15 @@ SRC_URI = " \ " ``` +``` +# Versal DFx Static +SRC_URI = " \ + file://.pdi \ + file://shell.json \ + file://.xclbin \ + " +``` + ``` # Versal DFx RP SRC_URI = " \ @@ -176,6 +268,15 @@ SRC_URI = " \ file://.xclbin \ " ``` + +``` +# Versal DFx RP +SRC_URI = " \ + file://.pdi \ + file://accel.json \ + file://.xclbin \ + " +``` --- ## How to create a firmware recipe app -- cgit v1.2.3-54-g00ecf From 8f0145f62230a2f102d6bca43d5e6374ba426c15 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Sun, 17 Dec 2023 22:13:40 -0700 Subject: lopper: Update SRC_REV for 2024.1 Change log: xlnx_overlay_dt.py: Update script to support full and dfx-static lopper:assists:baremetal_xparams Generate the Memory region names within NOC macros openamp: xlnx: Add IPI Helper code assists: introduce sample comparision assist assists:baremetallinker_xlnx: Fix handling for lmb bram lops: Add lops file to generate Microblaze RISC-V compiler flags lopper: assists: baremetal*: Add proper checks Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- .../virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend index 0e81527d..ab8cc095 100644 --- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend @@ -1,5 +1,5 @@ SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=master;protocol=https" -SRCREV = "0e640aae7b128347d9b72f8f03e995bc19ce06a8" +SRCREV = "0733a51cccf87962a2ab1677083a57f2a3a2f4cb" FILESEXTRAPATHS:prepend := "${THISDIR}/lopper:" -- cgit v1.2.3-54-g00ecf From 9773384b465ab99ecaf4e6ca46c7de5667743091 Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Thu, 21 Dec 2023 12:30:11 +0530 Subject: Updated Commit ID lib:multiconfigs.py: Generate multiconfig dts/conf file only if user selected lib:multconfigs.py: Fix build issue with r5baremetal configuration yocto_machine.py: Remove PREFERRED_VERSION settings Add support petalinux to pick boot.scr script flash offset and size from dt for flash based boot petalinux-dtg.tcl: fix for versal-net build failure Signed-off-by: Siva Addepalli --- meta-xilinx-core/gen-machine-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf index 27cdbda9..c81a3a84 160000 --- a/meta-xilinx-core/gen-machine-conf +++ b/meta-xilinx-core/gen-machine-conf @@ -1 +1 @@ -Subproject commit 27cdbda9e3f4fecb99f9faa3dc0da04d5362f6e8 +Subproject commit c81a3a84541f3a81055bb5bcb980f0a909aebd8d -- cgit v1.2.3-54-g00ecf From 868f521e25dca0b258d9973a85222839b446b89e Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 21 Dec 2023 17:17:42 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_5067 dp21txss: Fix XDp_TxSetDownspread API dp21: Fix issues observed with QD sink device xilplmi: added offset support to list commands dp21:Fix config structure parameters in yaml file dp14: Fix Config structure parameters in yaml file dual_splitter: Add CMakeLists file for system device-tree flow SCD Example app is corrected dp12txss: examples: zcu_pt: Add support for system device-tree flow. dp12rxss: examples: zcu_rx: Add support for system device-tree flow. dp12rxss: Add support for system device-tree flow dp12rxss: Add support for system device-tree flow dp12txss: examples: key: Add support for system device-tree flow dp12txss: examples: inc: Add support for system device-tree flow dp12txss: examples: kc: Add support for system device-tree flow. dp12txss: examples: kcu: Add support for system device-tree flow dp12txss: examples: zcu_tx: Add support for system device-tree flow. dp12txss: Add support for system device-tree flow dp12txss: Add support for system device-tree flow dp12: Add support for system device-tree flow dp12: Add support for system device-tree flow dphy Driver: dphy Driver updated for supporting decoupling flow. dsi Driver: dsi Driver updated for decoupling flow. dsitxss Driver: dsitxss Driver ported for decoupling flow csi Driver: csi Driver ported for decoupling flow mipicsiss Driver: MIPICSISS driver and ZCU102 example ported for decoupling flow xilpm: use FuncId instead of PinFunc sw_apps: Support SDT flow for Microblaze RISC-V xiltimer: Add support for Microblaze RISC-V BSP: Add SDT flow support for Microblaze RISC-V versal-net: xilsecure: Added version # for ECDH xilloader: Added code to Verify Address Range xilmailbox: Add initial support for Microblaze RISC-V xilffs: Add initial support for Microblaze RISC-V gpio: Add initial support for Microblaze RISC-V ipipsu: Add initial support for Microblaze RISC-V spi: Add initial support for Microblaze RISC-V spi: Updated the driver version uartpsv: Add initial support for Microblaze RISC-V uartps: Add initial support for Microblaze RISC-V uartns550: Add initial support for Microblaze RISC-V uartlite: Add initial support for Microblaze RISC-V wdttb: Add initial support for Microblaze RISC-V canps: Add initial support for Microblaze RISC-V canps: Increment driver version BSP: microblaze: Fix microblaze_invalidate_dcache for SDT flow i3cpsx: Fix code formatting issues with checkpatch i3cpsx: Add support for system device-tree flow for example i3cpsx: Add support for system device-tree flow i3cpsx: Update the slave property i3cpsx: Update the version sw_services: xilcert: Add Subject Alternative Name field sw_services:xilplmi:Fixed compilation warnings VPROCSS driver: Reverting back the earlier changes. xilpm: versal_common: server: remove XPM_NODEIDX_STMIC_MIN check xilpm: versal_net: Add support for no buffer IPI devices xilpm: versal_common: Add CRP register node drivers: Fixed source code-format issue. drivers: Fix compilation errors xilpuf: fixed doxygen grouping --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 0bbd95a1..1c1a6fdb 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "6a852ff79c851d2f74fffa29d27c66d13a87c5e0" +ESW_REV[2024.1] = "c57d3512a6bc34427c7d948289cb3c5a89b37537" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 747fa214a67757813bad7eec9100c3019bcaeae7 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 21 Dec 2023 21:01:21 +0530 Subject: linux-xlnx : Updated SRCREV for 2024.1_4571 kbuild: Fix xilinx_puf.h uapi mtd: spi-nor: Remove CFI_MFR_WINBND macro firmware: xilinx: Remove versal_pm_rsa*() firmware: xilinx: Remove zynqmp_pm_probe_counter_read/write prototypes firmware: xilinx: Make zynqmp_pm_get_family_info() static firmware: xilinx: Remove unused IOCTL_AIE_ISR_CLEAR firmware: xilinx: Remove zynqmp_pm_pinctrl_get_function() firmware: xilinx: Remove zynqmp_pm_get_operating_characteristic() firmware: xilinx: Remove zynqmp_pm_set_configuration() firmware: xilinx: Remove zynqmp_pm_set_max_latency() firmware: xilinx: Remove zynqmp_pm_request_suspend() firmware: xilinx: Remove zynqmp_pm_self_suspend() firmware: xilinx: Remove zynqmp_pm_abort_suspend() firmware: xilinx: Remove zynqmp_pm_set_wakeup_source() firmware: xilinx: Remove clock_setrate/getrate prototypes --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index 9b3b6e95..efbb4874 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.1.0" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.1;destsuffix=yocto-kmeta" KBRANCH="master" -SRCREV = "2fa7282511eb1422551a9f4d9b8b0073e2c38c0b" +SRCREV = "1e3e2949e6e17986c436308ab34b265e5bd900b2" SRCREV_meta = "185bcfcbe480c742247d9117011794c69682914f" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From 453912ea7cf9e86ebdcc78b9c2a56a28dcfb4e79 Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Fri, 22 Dec 2023 12:30:11 +0530 Subject: Updated Commit ID machine.py: changing the machine name to lower case. Signed-off-by: Siva Addepalli --- meta-xilinx-core/gen-machine-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf index c81a3a84..4ae7f056 160000 --- a/meta-xilinx-core/gen-machine-conf +++ b/meta-xilinx-core/gen-machine-conf @@ -1 +1 @@ -Subproject commit c81a3a84541f3a81055bb5bcb980f0a909aebd8d +Subproject commit 4ae7f05658c8f103d7eeb653b9e532a94161edad -- cgit v1.2.3-54-g00ecf From 14bb5ea55fb1b71a799bdcf9852c90e850eebf0b Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 27 Dec 2023 15:51:02 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_8447 csi2tx Driver: csi2tx driver migrated to decoupling flow. csi2txss Driver: csi2txss Driver migrate to decoupling flow Xilsem:Protect error injection test with macro and add XilSEM status prints sw_services: xilpm: assign value to IOCTL ID sw_services:xilnvm:Added Microblaze support for versalnet can: Update the interrupt example for ECC enablement can: Add ECC enablement for CAN driver can: Modify XCan_InterruptEnable to enable only the interrupts passed as argument can: Add new member to config structure can: Increment driver version ddrcpsu:Fix compilation warnings ddrcpsu: Update the driver version to v1.6 canps:Fix compilation warnings xilpm: versal: server: Fix Mbist clear trigger sequence for XRAM block Revert "lwip: metadata changes for timestamp" drivers: Update the compatibility string for the cframe and cfupmc drivers for VersalNet platform scripts: pyesw: create_bsp.py: Update the compiler flags for psx_pmc microblaze dp21:Fix Link_Count_Variable updation in RX MST Sideband reply message. sw_services: xilpki: Correct the PKI_ECC_NIST_P384_KEY_PRIV_GEN_CMD value lwip: metadata changes for timestamp --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 1c1a6fdb..2f67e9fb 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "c57d3512a6bc34427c7d948289cb3c5a89b37537" +ESW_REV[2024.1] = "38d0309fc2f2b9946c3ce1e1aed5aa52b6799374" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 01bc0d025d656d7f827fa1d44a7cc019eac3535f Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 28 Dec 2023 14:13:23 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_7063 sw_apps: imgsel: versal image selector Vless build failure fix xilpm: versal_net: server: Enable dynamic CCI/SMMU handling feature sw_services:xilloader: Place PMC TRNG in reset dp21: Fix SinkCount calculation when MST is enabled in RX Subsystem xilsecure: Fix status success assignment for invalid mod data --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 2f67e9fb..1d809d81 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "38d0309fc2f2b9946c3ce1e1aed5aa52b6799374" +ESW_REV[2024.1] = "6dc195e1d775ec6406a7ed4886e7809964b40cb0" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 00d35a52fa33cf2c13a37da906a1e3885f46e99a Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Sat, 30 Dec 2023 12:45:38 +0530 Subject: arm-trusted-firmware : Updated SRCREV for 2024.1_2083 docs(versal): add ERRATA_ABI_SUPPORT build documentation feat(versal): enable errata management feature feat(versal-net): add bufferless IPI Support build(versal-net): reorganize platform source files --- .../recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb index 5bef2ef5..744785ac 100644 --- a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb +++ b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb @@ -1,5 +1,5 @@ ATF_VERSION = "2.10" -SRCREV = "dd26a89661af9517b6cf4a58acb5874bc514c755" +SRCREV = "0f426a14b51a58f6af0e11497769962464182994" BRANCH = "xlnx_rebase_v2.10" LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031" -- cgit v1.2.3-54-g00ecf From 57b1213ff07b3f984a7b46f8552c516d5be37b14 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 1 Jan 2024 12:41:06 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_1507 v_hdmirxss: Add support for SDT flow v_hdmirx: Add support for SDT flow vphy: Add SDT flow support for HDMI v_hdmiphy1: Add speedgrade variable in yaml v_hdmitxss1: Fix absolute for VTC and Tx core in SDT flow v_hdmirxss1: Fix absolute address for Rx core in SDT flow xilsem:Added additional check for Inplace PLM update in deferred start-up mode. xilpm: versal_common: server: Add CPPUTEST macro xilplmi: prints optimization xilloader: prints optimization BSP: riscv: Explicitly align trap vector base address to 4 bytes BSP: riscv: Disable relaxation of code sequence while setting up stack xilffs: Update YAML with Versal Net support --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 1d809d81..f78d15f8 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "6dc195e1d775ec6406a7ed4886e7809964b40cb0" +ESW_REV[2024.1] = "590fcce10751c97344a4d635f91d1685ce395f5e" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 95f163333f04884eac642f19a948a9d1e6ec89f1 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 1 Jan 2024 12:42:33 +0530 Subject: linux-xlnx : Updated SRCREV for 2024.1_2391 misc: xilinx-ai-engine: fixed the bitmap resource in aie_part_set_column_clock_from_user API --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index efbb4874..2c1a3ce2 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.1.0" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.1;destsuffix=yocto-kmeta" KBRANCH="master" -SRCREV = "1e3e2949e6e17986c436308ab34b265e5bd900b2" +SRCREV = "de50f89f773185acfb1325c5959941c3579ac1af" SRCREV_meta = "185bcfcbe480c742247d9117011794c69682914f" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From 257ca449730215bc0e068f1f01d63c70fd23e188 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 2 Jan 2024 14:03:02 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_9163 trngpsx:Add support for non-blocking reseed operation sw_services:xilsecure:Fix logical issue in updating keyslot value sw_services:xilsecure: Add SHA384 mgf support sw_services:xilsecure: Add RSA CRT support for keyunwrap sw_services:xilsecure: Add client support XSecure_RsaExp --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index f78d15f8..34cd6f2b 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "590fcce10751c97344a4d635f91d1685ce395f5e" +ESW_REV[2024.1] = "d71c1b4bdb239b6eee0152a8b90db1c7d40318f5" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 4690eb5bc5f7bd76f15128b1458bf9f56bc3f2c4 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 3 Jan 2024 15:34:46 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_5131 dfeprach: Add continuous scheduling axipcie: modified axipcie device Id versal_psmfw: versal_net: Fix Misra violation 7.2 versal_psmfw: versal_net: Fix Misra-c violation 10.4 v_sdirxss: Add supoort for SDT flow v_sdirx: Add support for SDT flow v_sditxss: Add support for SDT flow v_sditx: Add support for SDT flow sdi_common: Add support for SDT flow sdps: Add support to read custom HS400 tap delay value --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 34cd6f2b..15a53188 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "d71c1b4bdb239b6eee0152a8b90db1c7d40318f5" +ESW_REV[2024.1] = "ac2f49206697f893ad93f25251601632b1eea879" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 8f1af389f29dc95f03c5d195a711ac075979e920 Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Wed, 20 Dec 2023 12:47:50 +0530 Subject: Updated SRCREV of vcu-omx-il for 2024.1_7299 chore: update to revision d20230920 Signed-off-by: Sandeep Gundlupet Raju --- meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb index 346e1a2c..c8159cad 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb @@ -8,7 +8,7 @@ PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', BRANCH ?= "master" REPO ?= "git://github.com/Xilinx/vcu-omx-il.git;protocol=https" -SRCREV = "e906a887deca1286e9744dd3c128adf11e281538" +SRCREV = "e7dcbba5bc5087f49369f10c3424ecbe3ff8b792" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" -- cgit v1.2.3-54-g00ecf From d99a43aaa5536163a2d9ecef3bb202ed282138a6 Mon Sep 17 00:00:00 2001 From: saumya garg Date: Thu, 21 Dec 2023 00:09:16 +0530 Subject: xrt, zocl: Update commit id Changelog: Fix missing include (#7858) VITIS-10910 Separate Ryzen and Alveo devices in ReportHost List (#7856) Skeleton directory and build infrastructure for HIP bindings (#7857) Added checks to build XRT with GCC 9 on RHEL 8 (#7851) EDGEML-6881 Random test failure when looking for driver store path (#7855) AIE Profile Update to maintain equivalence between Edge/Client (#7852) cleanup debug plugin (#7850) Improvements to parsing AIE trace settings (#7848) Initial pass of AIE profile refactoring (#7846) Fixing XRT issue for Ubuntu 23.10 (#7841) setting concurrency to 1 if a pr is synchronized (#7849) Fix for CR-1183009 mem-bw test failing without platform.json (#7847) Add missing apt-get update to have an up-to-date package list (#7836) Enabling setting XRT install prefix to custom location on Linux build. (#1) (#7835) Add warning exception for early return (#7844) fixing lpddr dma issue (#7845) CR-1183009 Fix IOPS Validate Issue (#7843) patch fix for checkout in GHA (#7842) AIE profile fixes and re-formatting (#7832) Migrating XRT PR CI worklow to GHA (#7839) CR-1183009 Fix xbutil validate bugs in mem-bw and verify (#7837) VITIS-10247 Refactor device name mapping to use device class query (#7838) Initial refactoring of AIE trace plugins (#7813) Signed-off-by: saumya garg Signed-off-by: Sandeep Gundlupet Raju --- meta-xilinx-core/recipes-xrt/xrt/xrt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc index 508a8377..19c20147 100644 --- a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc @@ -3,7 +3,7 @@ BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != ' SRC_URI = "${REPO};${BRANCHARG};name=xrt" BRANCH= "master" -SRCREV_xrt = "8eefcb786750b1f0d8c6d1da5b5c28fbd0c465fa" +SRCREV_xrt = "065eb631e66ab4a5fe912e1c60d72b46a174613b" PV = "202320.2.16.0" SRC_URI += "git://github.com/Xilinx/dma_ip_drivers.git;branch=master;name=dma_ip_drivers;destsuffix=git/src/runtime_src/core/pcie/driver/linux/xocl/lib/libqdma;protocol=https" -- cgit v1.2.3-54-g00ecf From 2757215333b58a36965261d6b76749cc08a54e10 Mon Sep 17 00:00:00 2001 From: Sharath Kumar Dasari Date: Thu, 21 Dec 2023 11:08:25 +0530 Subject: image-update: Added compatible versal machine to the recipe Signed-off-by: Sharath Kumar Dasari Signed-off-by: Sandeep Gundlupet Raju --- meta-xilinx-core/recipes-apps/image-update/image-update_1.0.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-xilinx-core/recipes-apps/image-update/image-update_1.0.bb b/meta-xilinx-core/recipes-apps/image-update/image-update_1.0.bb index 8a707df4..db518b2c 100644 --- a/meta-xilinx-core/recipes-apps/image-update/image-update_1.0.bb +++ b/meta-xilinx-core/recipes-apps/image-update/image-update_1.0.bb @@ -16,6 +16,7 @@ S = "${WORKDIR}/git" COMPATIBLE_MACHINE = "^$" COMPATIBLE_MACHINE:zynqmp = "zynqmp" +COMPATIBLE_MACHINE:versal = "versal" PACKAGE_ARCH:zynqmp = "${SOC_FAMILY_ARCH}" -- cgit v1.2.3-54-g00ecf From b122d894dfa417c59f6c68c17e31705c0b268dbf Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Thu, 21 Dec 2023 13:19:19 -0700 Subject: dfx_user_dts.bbclass: Fix build issue with bin and dtsi as input In dfx_user_dts.bbclass fix build issue with bin and dtsi as input file to firmware recipe. In case of bin file as input bootgen operation is not performed and directly copy from ${S} directory. Also remove check condition if dtbo with firmware-name doesn't exist which is not required in case of bin file as input. Signed-off-by: Sandeep Gundlupet Raju --- meta-xilinx-core/classes-recipe/dfx_user_dts.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/classes-recipe/dfx_user_dts.bbclass b/meta-xilinx-core/classes-recipe/dfx_user_dts.bbclass index c20cd8f7..9f63fccc 100644 --- a/meta-xilinx-core/classes-recipe/dfx_user_dts.bbclass +++ b/meta-xilinx-core/classes-recipe/dfx_user_dts.bbclass @@ -262,7 +262,7 @@ do_install() { bbfatal "Multiple .bin found, use the right .bin in SRC_URI from the following:\n$(basename -a ${S}/*.bin)" elif [ `ls ${S}/*.bit | wc -l` -eq 1 ] && [ ! -f ${B}/${USER_DTS_FILE}.dtbo ]; then install -Dm 0644 ${S}/*.bit ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/ - elif [ `ls ${S}/*.bin | wc -l` -eq 1 ] && [ ! -f ${B}/${USER_DTS_FILE}.dtbo ]; then + elif [ `ls ${S}/*.bin | wc -l` -eq 1 ]; then install -Dm 0644 ${S}/*.bin ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/ elif [ -f ${B}/${PN}.bin ] && [ -f ${B}/${USER_DTS_FILE}.dtbo ]; then install -Dm 0644 ${B}/${PN}.bin ${D}/${nonarch_base_libdir}/firmware/xilinx/${PN}/${PN}.bin -- cgit v1.2.3-54-g00ecf From f4499cf61a8f9aade89048f4109d4fcce652d80a Mon Sep 17 00:00:00 2001 From: Parth Gajjar Date: Thu, 21 Dec 2023 23:21:40 -0800 Subject: kernel-module-mali: Replace vma->vm_flags modifications with modifier calls Added 0028-Replace-vma-vm_flags-direct-modifications-with-modif.patch Replaced direct modifications to vma->vm_flags with modifier calls. Signed-off-by: Parth Gajjar Signed-off-by: Sandeep Gundlupet Raju --- .../recipes-graphics/mali/kernel-module-mali.bb | 1 + ...-vm_flags-direct-modifications-with-modif.patch | 81 ++++++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0028-Replace-vma-vm_flags-direct-modifications-with-modif.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali.bb b/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali.bb index 268759c2..cd3ba3d1 100644 --- a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali.bb +++ b/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali.bb @@ -34,6 +34,7 @@ SRC_URI = " \ file://0025-Import-DMA_BUF-module-and-update-register_shrinker-f.patch \ file://0026-Fix-gpu-driver-probe-failure.patch \ file://0027-Updated-clock-name-and-structure-to-match-LIMA-drive.patch \ + file://0028-Replace-vma-vm_flags-direct-modifications-with-modif.patch \ " SRC_URI[md5sum] = "85ea110dd6675c70b7d01af87ec9633c" SRC_URI[sha256sum] = "7a67127341d17640c1fff5dad80258fb2a37c8a2121b81525fe2327e4532ce2b" diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0028-Replace-vma-vm_flags-direct-modifications-with-modif.patch b/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0028-Replace-vma-vm_flags-direct-modifications-with-modif.patch new file mode 100644 index 00000000..72275a4c --- /dev/null +++ b/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0028-Replace-vma-vm_flags-direct-modifications-with-modif.patch @@ -0,0 +1,81 @@ +From e3e0f5e3fa0ddb396393d444bce6e575f7a16189 Mon Sep 17 00:00:00 2001 +From: Parth Gajjar +Date: Thu, 21 Dec 2023 22:41:32 -0800 +Subject: [PATCH] Replace vma->vm_flags direct modifications with modifier + calls + +Replace direct modifications to vma->vm_flags with calls to modifier +functions to be able to track flag changes and to keep vma locking +correctness. (Kernel 6.3) + +Signed-off-by: Parth Gajjar +--- + linux/mali_memory.c | 10 ++++++++++ + linux/mali_memory_cow.c | 13 ++++++++++--- + 2 files changed, 20 insertions(+), 3 deletions(-) + +diff --git a/linux/mali_memory.c b/linux/mali_memory.c +index 2b2b209..c21d0b7 100644 +--- a/linux/mali_memory.c ++++ b/linux/mali_memory.c +@@ -266,11 +266,17 @@ int mali_mmap(struct file *filp, struct vm_area_struct *vma) + * that it's present and can never be paged out (see also previous + * entry) + */ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0) ++ vm_flags_set(vma, VM_IO | VM_DONTCOPY | VM_PFNMAP); ++#else + vma->vm_flags |= VM_IO; + vma->vm_flags |= VM_DONTCOPY; + vma->vm_flags |= VM_PFNMAP; ++#endif + #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 7, 0) + vma->vm_flags |= VM_RESERVED; ++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0) ++ vm_flags_set(vma, VM_DONTDUMP | VM_DONTEXPAND); + #else + vma->vm_flags |= VM_DONTDUMP; + vma->vm_flags |= VM_DONTEXPAND; +@@ -288,7 +294,11 @@ int mali_mmap(struct file *filp, struct vm_area_struct *vma) + if (!(vma->vm_flags & VM_WRITE)) { + MALI_DEBUG_PRINT(4, ("mmap allocation with read only !\n")); + /* add VM_WRITE for do_page_fault will check this when a write fault */ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0) ++ vm_flags_set(vma, VM_WRITE | VM_READ); ++#else + vma->vm_flags |= VM_WRITE | VM_READ; ++#endif + vma->vm_page_prot = PAGE_READONLY; + vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot); + mem_bkend->flags |= MALI_MEM_BACKEND_FLAG_COW_CPU_NO_WRITE; +diff --git a/linux/mali_memory_cow.c b/linux/mali_memory_cow.c +index 6fadd42..e631431 100644 +--- a/linux/mali_memory_cow.c ++++ b/linux/mali_memory_cow.c +@@ -391,13 +391,20 @@ _mali_osk_errcode_t mali_memory_cow_modify_range(mali_mem_backend *backend, + } + } else { + /* used to trigger page fault for swappable cowed memory. */ +- alloc->cpu_mapping.vma->vm_flags |= VM_PFNMAP; +- alloc->cpu_mapping.vma->vm_flags |= VM_MIXEDMAP; +- ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0) ++ vm_flags_set(alloc->cpu_mapping.vma, VM_PFNMAP | VM_MIXEDMAP); ++#else ++ alloc->cpu_mapping.vma->vm_flags |= VM_PFNMAP; ++ alloc->cpu_mapping.vma->vm_flags |= VM_MIXEDMAP; ++#endif + zap_vma_ptes(alloc->cpu_mapping.vma, alloc->cpu_mapping.vma->vm_start + range_start, range_size); + /* delete this flag to let swappble is ummapped regard to stauct page not page frame. */ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 3, 0) ++ vm_flags_clear(alloc->cpu_mapping.vma, VM_PFNMAP | VM_MIXEDMAP); ++#else + alloc->cpu_mapping.vma->vm_flags &= ~VM_PFNMAP; + alloc->cpu_mapping.vma->vm_flags &= ~VM_MIXEDMAP; ++#endif + } + } + +-- +2.25.1 + -- cgit v1.2.3-54-g00ecf From 8c7db5b444c664620d2ec3a575aa1bef2266ab7e Mon Sep 17 00:00:00 2001 From: Ben Levinsky Date: Wed, 27 Dec 2023 09:12:44 -0800 Subject: xilinx-standalone: libxil: Install Spec file Consumers of Libxil library in AMD-Xilinx BSP require use of Spec file for compilation. Install this so other consumers can use the Spec file. Signed-off-by: Ben Levinsky Signed-off-by: Sandeep Gundlupet Raju --- .../recipes-libraries/libxil_2024.1.bb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/libxil_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-libraries/libxil_2024.1.bb index 8f33c848..eb24e1e1 100644 --- a/meta-xilinx-standalone-experimental/recipes-libraries/libxil_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-libraries/libxil_2024.1.bb @@ -47,4 +47,8 @@ do_compile() { do_install() { install -d ${D}${libdir} install -m 0755 ${B}/${ESW_COMPONENT_NAME} ${D}${libdir} + + # Install Spec files for consumers of BSP + install -d ${D}${includedir} + cp -rf ${SPECFILE_PATH} ${D}${includedir} } -- cgit v1.2.3-54-g00ecf From 92dc8930cc9b995cfc116ed813d4f5f291d498cc Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Fri, 29 Dec 2023 12:47:32 +0530 Subject: Updated SRCREV of vdu-modules for 2024.1_9315 fix: xilinx implementation of add_memory Signed-off-by: Sandeep Gundlupet Raju --- meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb index 308b8eac..d20db971 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb @@ -13,7 +13,7 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/files:" BRANCH ?= "master" REPO ?= "git://github.com/Xilinx/vdu-modules.git;protocol=https" -SRCREV ?= "4d5134f54006f904f0b28f00e05dd3febd5fcfd3" +SRCREV ?= "c03614079b9877cb41a24e69b62d5292265a1f14" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG} \ -- cgit v1.2.3-54-g00ecf From e3922c7972eb2d3e8103cd6d21c5318b793794b5 Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Fri, 29 Dec 2023 12:48:28 +0530 Subject: Updated SRCREV of vdu-omx-il for 2024.1_7951 vdu: add HEVC index and type fix: add missing ToStringValue feat(app): device selection chore: update to revision d20230724 Signed-off-by: Sandeep Gundlupet Raju --- meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb index 466153d1..06aa2f11 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb @@ -9,7 +9,7 @@ PV .= "+git${SRCPV}" BRANCH ?= "master" REPO ?= "git://github.com/Xilinx/vdu-omx-il.git;protocol=https" -SRCREV ?= "811eefac953fd5e098c69cada97a0dd35f5e9015" +SRCREV ?= "18716131c2d66ed5a0f6f381f155e80a21ca18f4" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG} \ -- cgit v1.2.3-54-g00ecf From 337c59376e435eda5c8e254346f08065851a54fa Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Fri, 29 Dec 2023 12:48:45 +0530 Subject: Updated SRCREV of vdu-ctrl-sw for 2024.1_4811 fix: add missing mask chore: update to revision d20230724 Support for reserved memory with start address not aligned on 2GB reintegration Revert Adding support for vdu-auto-instance Signed-off-by: Sandeep Gundlupet Raju --- meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb index 19db2456..9a542e78 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb @@ -13,7 +13,7 @@ REQUIRED_MACHINE_FEATURES = "vdu" BRANCH ?= "master" REPO ?= "git://github.com/Xilinx/vdu-ctrl-sw.git;protocol=https" -SRCREV ?= "1beb8f247d01b1a728faea36ce8f7847c895482f" +SRCREV ?= "af435d31aee1078bf31efd6dae45d7cba97b2638" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" -- cgit v1.2.3-54-g00ecf From 18afb9efd7447fd807d1f74de9f595dd5e388805 Mon Sep 17 00:00:00 2001 From: Virendra Nakaskar Date: Fri, 29 Dec 2023 00:32:02 -0800 Subject: Updating VDU license file checksum libvdu-omxil change: vdu: add HEVC index and type fix: add missing ToStringValue feat(app): device selection chore: update to revision d20230724 libvdu-ctrlsw change: fix: add missing mask chore: update to revision d20230724 Support for reserved memory with start address not aligned on 2GB Revert "Adding support for vdu-auto-instance vdu-firmware change: chore: update to revision d20230724 Support for reserved memory with start address not aligned on 2GB Signed-off-by: Virendra Nakaskar Signed-off-by: Sandeep Gundlupet Raju --- meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb | 2 +- meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb | 2 +- meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb index 9a542e78..0f193e06 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb @@ -1,7 +1,7 @@ SUMMARY = "Control Software for VDU" DESCRIPTION = "Control software libraries, test applications and headers provider for VDU" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=aaf483d309243c4596f6373eb9c8325f" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=ef69c2bb405668101824f0b644631e2e" XILINX_VDU_VERSION = "1.0.0" PV =. "${XILINX_VDU_VERSION}-xilinx-v" diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb index 06aa2f11..d37af28d 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb @@ -1,7 +1,7 @@ SUMMARY = "OpenMAX Integration layer for VDU" DESCRIPTION = "OMX IL Libraries,test application and headers for VDU" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=aaf483d309243c4596f6373eb9c8325f" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=ef69c2bb405668101824f0b644631e2e" XILINX_VDU_VERSION = "1.0.0" PV =. "${XILINX_VDU_VERSION}-xilinx-v" diff --git a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb index 7595c082..a38d2919 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb @@ -1,7 +1,7 @@ SUMMARY = "Firmware for VDU" DESCRIPTION = "Firmware binaries provider for VDU" LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=c5784f63397086d836580d8785d1deb9" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=097505cd2ff7f3f5d84f42aeea950823" XILINX_VDU_VERSION = "1.0.0" PV =. "${XILINX_VDU_VERSION}-xilinx-v" -- cgit v1.2.3-54-g00ecf From 39ef600808bf89311ecd450e944ba1de9d75f83d Mon Sep 17 00:00:00 2001 From: Appana Durga Kedareswara rao Date: Mon, 1 Jan 2024 13:31:30 +0530 Subject: lopper: Update srcrev for 2024.1 Below are the updates openamp: xlnx: Update RPMsg kernel mailbox output lopper: assists: baremetalconfig_xlnx: Update the get_label() API to read xlnx,name property lopper: assists: Add support for VersalNet linux device-tree generation assists: baremetal_gentestapp_xlnx: Don't generate Instance names for selftest lopper: lops: Rename the interrupt-controller node to inline with existing linux device-tree entries lopper: assists: gen_domain_dts: Add support for linux device-tree generation lopper: assists: correct memory size when the size crosses 32 bit lopper:assists:baremetal_config: Correct the pci range mapping Signed-off-by: Appana Durga Kedareswara rao Signed-off-by: Sandeep Gundlupet Raju --- .../virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend index ab8cc095..fa7322c3 100644 --- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend @@ -1,5 +1,5 @@ SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=master;protocol=https" -SRCREV = "0733a51cccf87962a2ab1677083a57f2a3a2f4cb" +SRCREV = "52d33108567ed634be531038065a5edb9534eeab" FILESEXTRAPATHS:prepend := "${THISDIR}/lopper:" -- cgit v1.2.3-54-g00ecf From 38909e0f6525787ad2db590f956a477781de06de Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 4 Jan 2024 12:46:48 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_5447 mtd: spi-nor: Add IS25LP02G flash support clk: zynqmp: enable topsw_lsbus clock --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index 6aa82af7..2cf5ca4c 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2023.01" UBRANCH = "master" -SRCREV = "105f84aaaad619256dbd5840a8b805a29f487340" +SRCREV = "6e81b6ca3c01643eadf228aaa3b7893d06ca9270" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From c48ed6889876da240d743ed2db70343466ce59c5 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 5 Jan 2024 12:53:13 +0530 Subject: linux-xlnx : Updated SRCREV for 2024.1_7575 firmware: xilinx: Remove zynqmp_pm_write_aes_key*() nvmem: Use versal_pm_aes_key_write --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index 2c1a3ce2..5a34fc45 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.1.0" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.1;destsuffix=yocto-kmeta" KBRANCH="master" -SRCREV = "de50f89f773185acfb1325c5959941c3579ac1af" +SRCREV = "5928e9762d9bd76b32521147b42a4102a7a6cb33" SRCREV_meta = "185bcfcbe480c742247d9117011794c69682914f" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From 4bee16df8dba1ad23a2b7851fa39aca774175d12 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Sat, 6 Jan 2024 12:51:20 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_2463 usb: usbpsu: examples: Update the freertos examples to support SDT flow usb: usbpsu: data: add dependency_files in yaml FreeRTOS examples Application fixes for decoupling flow VPROCSS: Driver TCL fix for customer issue xilpm: versal_common: server: use healthy boot monitor timer sw_services:xilplmi:Save PSM & PMC Buffers for IPU scripts: pyesw: library_utils: Add _XLNX_PLATFORM for libmetal platforms Revert "shmem: Add shared memory struct properties comments" ThirdParty: openamp: 2024.1 version for v2023.10.0 open-amp: apps: update to upstream v2023.10.0 open-amp: lib: update to upstream v2023.10.0 libmetal: lib: update to upstream v2023.10.0 --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 15a53188..6ab7d79c 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "ac2f49206697f893ad93f25251601632b1eea879" +ESW_REV[2024.1] = "c560223123ddaf8b953b72b9b162510fb7d24310" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From bfe41ae084d13c13c595830c0ec5d6dde2252b57 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Wed, 3 Jan 2024 19:51:27 -0700 Subject: meta-xilinx: Add new sub layer for xen features Add new sub layer meta-xilinx-virtualization for xen features. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- meta-xilinx-virtualization/COPYING.MIT | 17 +++++++++++++++++ meta-xilinx-virtualization/README.md | 29 +++++++++++++++++++++++++++++ meta-xilinx-virtualization/conf/layer.conf | 17 +++++++++++++++++ 3 files changed, 63 insertions(+) create mode 100644 meta-xilinx-virtualization/COPYING.MIT create mode 100644 meta-xilinx-virtualization/README.md create mode 100644 meta-xilinx-virtualization/conf/layer.conf diff --git a/meta-xilinx-virtualization/COPYING.MIT b/meta-xilinx-virtualization/COPYING.MIT new file mode 100644 index 00000000..fb950dc6 --- /dev/null +++ b/meta-xilinx-virtualization/COPYING.MIT @@ -0,0 +1,17 @@ +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/meta-xilinx-virtualization/README.md b/meta-xilinx-virtualization/README.md new file mode 100644 index 00000000..9bdaf057 --- /dev/null +++ b/meta-xilinx-virtualization/README.md @@ -0,0 +1,29 @@ +# meta-xilinx-vendor + +This layer enables AMD Xilinx Xen configurations and features for ZynqMP and +Versal devices and also provides related metadata. + +## Dependencies + +This layer depends on: + + URI: https://git.yoctoproject.org/poky + layers: meta, meta-poky + branch: langdale + + URI: https://git.openembedded.org/meta-openembedded + layers: meta-oe, meta-python, meta-filesystems, meta-networking. + branch: langdale + + URI: + https://git.yoctoproject.org/meta-xilinx (official version) + https://github.com/Xilinx/meta-xilinx (development and amd xilinx release) + layers: meta-xilinx-core, meta-xilinx-standalone + branch: langdale or amd xilinx release version (e.g. rel-v2024.1) + + URI: https://git.yoctoproject.org/meta-virtualization + branch: langdale + + URI: https://git.yoctoproject.org/meta-security + layers: meta-tpm + branch: langdale \ No newline at end of file diff --git a/meta-xilinx-virtualization/conf/layer.conf b/meta-xilinx-virtualization/conf/layer.conf new file mode 100644 index 00000000..69082d29 --- /dev/null +++ b/meta-xilinx-virtualization/conf/layer.conf @@ -0,0 +1,17 @@ +# We have a conf and classes directory, add to BBPATH +BBPATH .= ":${LAYERDIR}" + +# We have packages directories, add to BBFILES +BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ + ${LAYERDIR}/recipes-*/*/*.bbappend" + +BBFILE_COLLECTIONS += "xilinx-virtualization" +BBFILE_PATTERN_xilinx-virtualization = "^${LAYERDIR}/" +BBFILE_PRIORITY_xilinx-virtualization = "5" + +LAYERDEPENDS_xilinx-virtualization = "\ + xilinx \ + virtualization-layer \ + " + +LAYERSERIES_COMPAT_xilinx-virtualization = "langdale" -- cgit v1.2.3-54-g00ecf From 0ddfa30d488a725341da80ea7bafb0da23e28659 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Wed, 3 Jan 2024 19:51:28 -0700 Subject: xen: Move xen recipes and files from petalinux layer Move xen recipes and files from meta-petalinux to xilinx-virtualization layer exlcuding example configuration and passthrough device tree. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- ...g-Allow-specification-of-ncurses-location.patch | 57 ++ ...001-python-pygrub-pass-DISTUTILS-xen-4.15.patch | 73 ++ .../xen/files/xen-flask-race-fix.patch | 54 ++ .../recipes-extended/xen/xen-arch.inc | 18 + .../recipes-extended/xen/xen-blktap.inc | 76 ++ .../recipes-extended/xen/xen-hypervisor.inc | 117 +++ .../recipes-extended/xen/xen-tools.inc | 861 +++++++++++++++++++++ .../recipes-extended/xen/xen-tools_%.bbappend | 27 + .../recipes-extended/xen/xen-tools_4.17.bb | 18 + .../recipes-extended/xen/xen-xilinx.inc | 7 + .../recipes-extended/xen/xen.inc | 233 ++++++ .../recipes-extended/xen/xen_%.bbappend | 20 + .../recipes-extended/xen/xen_4.17.bb | 19 + 13 files changed, 1580 insertions(+) create mode 100644 meta-xilinx-virtualization/recipes-extended/xen/files/0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-location.patch create mode 100644 meta-xilinx-virtualization/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.15.patch create mode 100644 meta-xilinx-virtualization/recipes-extended/xen/files/xen-flask-race-fix.patch create mode 100644 meta-xilinx-virtualization/recipes-extended/xen/xen-arch.inc create mode 100644 meta-xilinx-virtualization/recipes-extended/xen/xen-blktap.inc create mode 100644 meta-xilinx-virtualization/recipes-extended/xen/xen-hypervisor.inc create mode 100644 meta-xilinx-virtualization/recipes-extended/xen/xen-tools.inc create mode 100644 meta-xilinx-virtualization/recipes-extended/xen/xen-tools_%.bbappend create mode 100644 meta-xilinx-virtualization/recipes-extended/xen/xen-tools_4.17.bb create mode 100644 meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx.inc create mode 100644 meta-xilinx-virtualization/recipes-extended/xen/xen.inc create mode 100644 meta-xilinx-virtualization/recipes-extended/xen/xen_%.bbappend create mode 100644 meta-xilinx-virtualization/recipes-extended/xen/xen_4.17.bb diff --git a/meta-xilinx-virtualization/recipes-extended/xen/files/0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-location.patch b/meta-xilinx-virtualization/recipes-extended/xen/files/0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-location.patch new file mode 100644 index 00000000..135860ab --- /dev/null +++ b/meta-xilinx-virtualization/recipes-extended/xen/files/0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-location.patch @@ -0,0 +1,57 @@ +From b300c18ab899b3c899e5405c96c20a32e51d77c8 Mon Sep 17 00:00:00 2001 +From: Bruce Ashfield +Date: Mon, 2 Jul 2018 23:10:28 -0400 +Subject: [PATCH] xen: Fix menuconfig and add support for config fragments and + +Upstream-Status: Xen: Inappropriate [oe specific, cross compile issue] +Upstream-Status: Kernel: Pending +Signed-off-by: Diego Sueiro +commit e6972e689a980ab28637e94e48c77eeace6abde5 + + xen/kconfig,menuconfig,mconf-cfg: Allow specification of ncurses location + + In some cross build environments such as the Yocto Project build + environment it provides an ncurses library that is compiled + differently than the host's version. This causes display corruption + problems when the host's curses includes are used instead of the + includes from the provided compiler are overridden. There is a second + case where there is no curses libraries at all on the host system and + menuconfig will just fail entirely. + + The solution is simply to allow an override variable in + check-lxdialog.sh for environments such as the Yocto Project. Adding + a CROSS_CURSES_LIB and CROSS_CURSES_INC solves the issue and allowing + compiling and linking against the right headers and libraries. + + Change-Id: Ibe8dfafc90655e3be2671dbbb0cb7f5631fc4d44 + Signed-off-by: Jason Wessel + cc: Michal Marek + cc: linux-kbuild@vger.kernel.org + Signed-off-by: Bruce Ashfield + +--- + xen/tools/kconfig/mconf-cfg.sh | 8 ++++++++ + 1 file changed, 8 insertions(+) + mode change 100755 => 100644 xen/tools/kconfig/mconf-cfg.sh + +diff --git a/xen/tools/kconfig/mconf-cfg.sh b/xen/tools/kconfig/mconf-cfg.sh +old mode 100755 +new mode 100644 +index c812872d7f..56eb4fc79f +--- a/xen/tools/kconfig/mconf-cfg.sh ++++ b/xen/tools/kconfig/mconf-cfg.sh +@@ -4,6 +4,14 @@ + PKG="ncursesw" + PKG2="ncurses" + ++if [ "$CROSS_CURSES_LIB" != "" ]; then ++ echo libs=\'$CROSS_CURSES_LIB\' ++ if [ x"$CROSS_CURSES_INC" != x ]; then ++ echo cflags=\'$CROSS_CURSES_INC\' ++ fi ++ exit 0 ++fi ++ + if [ -n "$(command -v pkg-config)" ]; then + if pkg-config --exists $PKG; then + echo cflags=\"$(pkg-config --cflags $PKG)\" diff --git a/meta-xilinx-virtualization/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.15.patch b/meta-xilinx-virtualization/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.15.patch new file mode 100644 index 00000000..35cd9a81 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.15.patch @@ -0,0 +1,73 @@ +From 6db88791d923167f160afbcadeffad84a4cbdbc5 Mon Sep 17 00:00:00 2001 +Message-Id: <6db88791d923167f160afbcadeffad84a4cbdbc5.1612262706.git.bertrand.marquis@arm.com> +From: Maciej Pijanowski +Date: Fri, 19 Oct 2018 11:01:37 +0200 +Subject: [PATCH] python,pygrub: pass DISTUTILS env vars as setup.py args + +Upstream-Status: Xen: Inappropriate [oe specific, python install issues] + +Allow to respect the target install dir (PYTHON_SITEPACKAGES_DIR) +as well as other parameters set by the OpenEmbedded build system. +This is especially useful when the target libdir is not the default one +(/usr/lib), but for example /usr/lib64. + +Signed-off-by: Maciej Pijanowski + +Forward-ported to Xen 4.12.0 +Signed-off-by: Christopher Clark + +Modified to support pygrub installation with python 3 +Signed-off-by: Christopher Clark + +Forward-ported to Xen 4.14.0 +Signed-off-by: Christopher Clark + +Forward-ported to Xen 4.15.0 +Signed-off-by: Bertrand Marquis + +--- + tools/pygrub/Makefile | 7 +++++-- + tools/python/Makefile | 2 +- + 2 files changed, 6 insertions(+), 3 deletions(-) + +diff --git a/tools/pygrub/Makefile b/tools/pygrub/Makefile +index 37b2146214..ffb9270065 100644 +--- a/tools/pygrub/Makefile ++++ b/tools/pygrub/Makefile +@@ -10,7 +10,7 @@ INSTALL_LOG = build/installed_files.txt + all: build + .PHONY: build + build: +- CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDSHARED="$(CC)" LDFLAGS="$(PY_LDFLAGS)" $(PYTHON) setup.py build ++ CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDSHARED="$(CC)" LDFLAGS="$(PY_LDFLAGS)" $(PYTHON) setup.py build $(DISTUTILS_BUILD_ARGS) + + .PHONY: install + install: all +@@ -18,7 +18,10 @@ install: all + CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDSHARED="$(CC)" \ + LDFLAGS="$(PY_LDFLAGS)" $(PYTHON) setup.py install \ + --record $(INSTALL_LOG) $(PYTHON_PREFIX_ARG) \ +- --root="$(DESTDIR)" --install-scripts=$(LIBEXEC_BIN) --force ++ --root="$(DESTDIR)" --install-scripts=$(LIBEXEC_BIN) --force \ ++ $(DISTUTILS_INSTALL_ARGS) ++ rm -f $(DESTDIR)/$(LIBEXEC_BIN)/pygrub ++ $(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(LIBEXEC_BIN)/pygrub + set -e; if [ $(bindir) != $(LIBEXEC_BIN) -a \ + "`readlink -f $(DESTDIR)/$(bindir)`" != \ + "`readlink -f $(LIBEXEC_BIN)`" ]; then \ +diff --git a/tools/python/Makefile b/tools/python/Makefile +index cc76423647..5cb11ae453 100644 +--- a/tools/python/Makefile ++++ b/tools/python/Makefile +@@ -12,7 +12,7 @@ setup.py = CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDSHARED="$(CC)" LDFLAGS="$(PY_LDFLA + SHLIB_libxenctrl="$(SHLIB_libxenctrl)" \ + SHLIB_libxenguest="$(SHLIB_libxenguest)" \ + SHLIB_libxenstore="$(SHLIB_libxenstore)" \ +- $(PYTHON) setup.py ++ $(PYTHON) setup.py $(DISTUTILS_BUILD_ARGS) + + .PHONY: build + build: +-- +2.17.1 + diff --git a/meta-xilinx-virtualization/recipes-extended/xen/files/xen-flask-race-fix.patch b/meta-xilinx-virtualization/recipes-extended/xen/files/xen-flask-race-fix.patch new file mode 100644 index 00000000..fa2a82ff --- /dev/null +++ b/meta-xilinx-virtualization/recipes-extended/xen/files/xen-flask-race-fix.patch @@ -0,0 +1,54 @@ +From mboxrd@z Thu Jan 1 00:00:00 1970 +From: Anthony PERARD +Subject: [XEN PATCH] build: fix building flask headers before descending in flask/ss/ +Date: Fri, 20 Jan 2023 13:36:26 +0000 +Message-ID: <20230120133626.55680-1-anthony.perard@citrix.com> +X-Mailer: git-send-email 2.30.2 +MIME-Version: 1.0 +Content-Transfer-Encoding: 8bit +Content-Type: text/plain + +Unfortunatly, adding prerequisite to "$(obj)/ss/built_in.o" doesn't +work because we have "$(obj)/%/built_in.o: $(obj)/% ;" in Rules.mk. +So, make is allow to try to build objects in "xsm/flask/ss/" before +generating the headers. + +Adding a prerequisite on "$(obj)/ss" instead will fix the issue has +that the target used to run make in this subdirectory. + +Unfortunatly, that target is also used when running `make clean`, so +we need to ignore it in this case. $(MAKECMDGOALS) can't be used in +this case as it is empty, but we can guess which operation is done by +looking at the list of loaded makefiles. + +Upstream-Status: backport [https://lore.kernel.org/xen-devel/20230120133626.55680-1-anthony.perard@citrix.com/T/#u] + +Fixes: 7a3bcd2babcc ("build: build everything from the root dir, use obj=$subdir") +Reported-by: "Daniel P. Smith" +Signed-off-by: Anthony PERARD +--- + xen/xsm/flask/Makefile | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/xen/xsm/flask/Makefile b/xen/xsm/flask/Makefile +index d25312f4fa..2d24346ee3 100644 +--- a/xen/xsm/flask/Makefile ++++ b/xen/xsm/flask/Makefile +@@ -16,7 +16,11 @@ FLASK_H_FILES := flask.h class_to_string.h initial_sid_to_string.h + AV_H_FILES := av_perm_to_string.h av_permissions.h + ALL_H_FILES := $(addprefix include/,$(FLASK_H_FILES) $(AV_H_FILES)) + +-$(addprefix $(obj)/,$(obj-y)) $(obj)/ss/built_in.o: $(addprefix $(obj)/,$(ALL_H_FILES)) ++# Adding prerequisite to descending into ss/ folder only when not running `make ++# clean`. ++ifeq ($(filter %/Makefile.clean,$(MAKEFILE_LIST)),) ++$(addprefix $(obj)/,$(obj-y)) $(obj)/ss: $(addprefix $(obj)/,$(ALL_H_FILES)) ++endif + extra-y += $(ALL_H_FILES) + + mkflask := $(srcdir)/policy/mkflask.sh +-- +Anthony PERARD + + + diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen-arch.inc b/meta-xilinx-virtualization/recipes-extended/xen/xen-arch.inc new file mode 100644 index 00000000..fb0093e3 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-extended/xen/xen-arch.inc @@ -0,0 +1,18 @@ + +valid_xen_archs = " \ + x86_64 x86_32 \ + arm32 arm64 \ + " + +def map_xen_arch(a, d): + import re + valid_archs = d.getVar('valid_xen_archs').split() + + if re.match("i.86", a): return "x86_32" + elif re.match("x86.64", a): return "x86_64" + elif re.match("arm.*", a): return "arm32" + elif re.match("aarch64.*", a): return "arm64" + elif a in valid_archs: return a + else: + return "INVALID" + diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen-blktap.inc b/meta-xilinx-virtualization/recipes-extended/xen/xen-blktap.inc new file mode 100644 index 00000000..ad9d5fdb --- /dev/null +++ b/meta-xilinx-virtualization/recipes-extended/xen/xen-blktap.inc @@ -0,0 +1,76 @@ +# The Xen block tap components are packaged separately here to support +# the option to build them in a separate recipe from xen-tools. + +BLKTAP_PACKAGES ?= " \ + ${PN}-blktap \ + ${PN}-libblktap \ + ${PN}-libblktapctl \ + ${PN}-libblktapctl-dev \ + ${PN}-libblktap-dev \ + ${PN}-libvhd \ + ${PN}-libvhd-dev \ + ${PN}-blktap-staticdev \ + " + +BLKTAP_PROVIDES ?= " \ + virtual/blktap \ + virtual/libblktap \ + virtual/libblktapctl \ + virtual/libvhd \ + " + +BLKTAP_RRECOMMENDS ?= " \ + virtual/blktap \ + virtual/libblktap \ + virtual/libblktapctl \ + virtual/libvhd \ + " + +RPROVIDES:${PN}-blktap = "virtual/blktap" +RPROVIDES:${PN}-libblktap = "virtual/libblktap" +RPROVIDES:${PN}-libblktapctl = "virtual/libblktapctl" +RPROVIDES:${PN}-libvhd = "virtual/libvhd" + +FILES:${PN}-blktap-staticdev += "\ + ${libdir}/libblktapctl.a \ + ${libdir}/libvhd.a \ + ${libdir}/libblktap.a \ + " + +FILES:${PN}-libblktapctl = "${libdir}/libblktapctl.so.*" +FILES:${PN}-libblktapctl-dev = " \ + ${libdir}/libblktapctl.so \ + ${libdir}/pkgconfig/xenblktapctl.pc \ + ${datadir}/pkgconfig/xenblktapctl.pc \ + " + +FILES:${PN}-libvhd = "${libdir}/libvhd.so.*" +FILES:${PN}-libvhd-dev = " \ + ${libdir}/libvhd.so \ + ${libdir}/pkgconfig/vhd.pc \ + ${datadir}/pkgconfig/vhd.pc \ + " + +FILES:${PN}-libblktap = "${libdir}/libblktap.so.*" +FILES:${PN}-libblktap-dev = " \ + ${libdir}/libblktap.so \ + ${libdir}/pkgconfig/blktap.pc \ + ${datadir}/pkgconfig/blktap.pc \ + " + +FILES:${PN}-blktap = "\ + ${sbindir}/blktapctrl \ + ${sbindir}/img2qcow \ + ${sbindir}/lock-util \ + ${sbindir}/qcow2raw \ + ${sbindir}/qcow-create \ + ${sbindir}/tap-ctl \ + ${sbindir}/tapdisk \ + ${sbindir}/tapdisk2 \ + ${sbindir}/tapdisk-client \ + ${sbindir}/tapdisk-diff \ + ${sbindir}/tapdisk-stream \ + ${sbindir}/td-util \ + ${sbindir}/vhd-update \ + ${sbindir}/vhd-util \ + " diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen-hypervisor.inc b/meta-xilinx-virtualization/recipes-extended/xen/xen-hypervisor.inc new file mode 100644 index 00000000..6f3d24d0 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-extended/xen/xen-hypervisor.inc @@ -0,0 +1,117 @@ +SUMMARY = "Xen hypervisor" +DESCRIPTION = "The Xen hypervisor" + +# This recipe is for just the Xen hypervisor. +# Separate recipes are used to build Xen and its components: +# this allows for varying the target architecture or toolchain used +# to build the different components. eg. 32-bit tools and a 64-bit hypervisor. + +# The Xen hypervisor has a narrower compatible platform range than the Xen tools +COMPATIBLE_HOST = '(x86_64.*).*-linux|aarch64.*-linux|arm-.*-linux-gnueabi' + +inherit deploy python3native cml1 + +PACKAGES = " \ + ${PN} \ + ${PN}-dbg \ + ${PN}-efi \ + " + +FILES:${PN} = " \ + /boot/xen-* \ + /boot/xen \ + /boot/xen-*.gz \ + /boot/xen.gz \ + /boot/xen-syms-* \ + " + +FILES:${PN}-dbg += "${libdir}/debug/*" + +FILES:${PN}-efi = " \ + /boot/xen.efi \ + ${exec_prefix}/lib64/efi/xen* \ + " + +do_configure() { + do_configure_common + + # Handle the config fragments + cfgs="${@' '.join(find_cfgs(d))}" + if [ -n "${cfgs}" ]; then + # If .config is not present generate one in order + # to use the merge_config.sh + if [ ! -f "${S}/xen/.config" ] ; then + oe_runmake -C ${S}/xen defconfig + fi + ${S}/xen/tools/kconfig/merge_config.sh -m -O \ + ${S}/xen ${S}/xen/.config "${cfgs}" + fi +} + +# The hypervisor binary for arm must not be built with the hard floating point +# ABI. Override CC and CPP when invoking make so that they do not contain +# TUNE_CCARGS. +EXTRA_OEMAKE:arm += "CC='${CCACHE}${HOST_PREFIX}gcc ${TOOLCHAIN_OPTIONS} \ + ${CC_REPRODUCIBLE_OPTIONS}' \ + CPP='${CCACHE}${HOST_PREFIX}gcc -E ${TOOLCHAIN_OPTIONS} \ + ${CC_REPRODUCIBLE_OPTIONS}'" + +do_compile() { + oe_runmake xen PYTHON="${PYTHON}" \ + EXTRA_CFLAGS_XEN_CORE="${EXTRA_CFLAGS_XEN_CORE}" +} + +do_install() { + oe_runmake DESTDIR="${D}" install-xen +} +# The do_install also ships files in /boot and /usr/lib64 +SYSROOT_DIRS += "/boot ${exec_prefix}/lib64" + +do_deploy() { + install -d ${DEPLOYDIR} + + if [ -f ${B}/xen/xen ]; then + install -m 0644 ${B}/xen/xen ${DEPLOYDIR}/xen-${MACHINE} + fi + + if [ -f ${B}/xen/xen.gz ]; then + install -m 0644 ${B}/xen/xen.gz ${DEPLOYDIR}/xen-${MACHINE}.gz + fi + + if [ -f ${B}/xen/xen.efi ]; then + install -m 0644 ${B}/xen/xen.efi ${DEPLOYDIR}/xen-${MACHINE}.efi + fi +} +# Scheduling the do_deploy task: +# - deploy copies files from ${B} that are written during do_compile so must +# at least run afer that task has completed +# - the hypervisor binaries may be included in the image filesystem, so we +# must ensure that the binaries deployed match what is staged in the sysroot: +# so do_deploy must run after do_populate_sysroot and after do_compile is +# also needed for when having rm_work and bitbake needs to re-run do_deploy, +# we ensure that the ${B} is re-generated, otherwise the deploy-xen will be +# empty +# - add the task before do_build to ensure that deployment has completed when +# the recipe build done stamp is written +addtask deploy after do_compile do_populate_sysroot before do_build +# To ensure that a deployed hypervisor has matching tools, add a dependency to +# make sure that the tools have built and been staged: +do_deploy[depends] += "xen-tools:do_populate_sysroot" +# Also ensure anything that the tools recipe needs to deploy, such as a +# XSM policy file, has been deployed first: +do_deploy[depends] += "xen-tools:do_deploy" + +# Enable use of menuconfig directly from bitbake and also within the devshell +do_devshell[depends] += "ncurses-native:do_populate_sysroot" + +# Pass the native library path for kconfig build when running the do_menuconfig +# task +CROSS_CURSES_LIB += "-L${STAGING_LIBDIR_NATIVE}" + +# Specify the root dir of the .config file for do_menuconfig and do_diffconfig +# tasks +KCONFIG_CONFIG_ROOTDIR = "${S}/xen" + +# Xen is setting all CC flags on its own. Make sure that they are not modified +# for aarch64, e.g. with architecture-specific optimizations. +TUNE_CCARGS:aarch64="" diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen-tools.inc b/meta-xilinx-virtualization/recipes-extended/xen/xen-tools.inc new file mode 100644 index 00000000..f770eec2 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-extended/xen/xen-tools.inc @@ -0,0 +1,861 @@ +SUMMARY = "Xen hypervisor tools" +DESCRIPTION = "Tools and utility software for the Xen hypervisor" + +COMPATIBLE_HOST = 'i686-.*-linux|(x86_64.*).*-linux|aarch64.*-linux|arm-.*-linux-gnueabi' + +inherit setuptools3 update-rc.d systemd deploy +require xen-blktap.inc + +RDEPENDS:${PN} = "\ + bash perl xz \ + ${PN}-console \ + ${PN}-libxenguest \ + ${PN}-libxenlight \ + ${PN}-libxenvchan \ + ${PN}-libxenctrl \ + ${PN}-libxlutil \ + ${PN}-libxenstat \ + ${PN}-libxenstore \ + ${PN}-libfsimage \ + ${PN}-fsimage \ + ${PN}-scripts-block \ + ${PN}-scripts-network \ + ${PN}-xen-watchdog \ + ${PN}-xencommons \ + ${PN}-xendomains \ + ${PN}-xenstore \ + virtual/xenstored \ + ${PN}-xl \ + " + +RDEPENDS:${PN}-dev = "" + +RRECOMMENDS:${PN} = " \ + qemu \ + ${@bb.utils.contains('XEN_TARGET_ARCH', 'x86_64', 'seabios ipxe vgabios', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'externalblktap', '', '${BLKTAP_RRECOMMENDS}', d)} \ + ${PN}-flask \ + ${PN}-hvmloader \ + ${PN}-libxenhypfs \ + ${PN}-shim \ + ${PN}-ucode \ + ${PN}-vchan \ + ${PN}-xenpaging \ + ${PN}-xenhypfs \ + " + +RDEPENDS:${PN}-devd = " \ + ${PN}-xl \ + " + +RDEPENDS:${PN}-fsimage = " \ + libext2fs \ + " + +RDEPENDS:${PN}-misc = " \ + perl \ + python3 \ + ${PN}-xencov \ + " + +RSUGGESTS:${PN}-misc = " \ + ${PN}-xencons \ + ${PN}-xenpvnetboot \ + " + +RDEPENDS:${PN}-python = " \ + python3 \ + " + +RDEPENDS:${PN}-pygrub = " \ + python3 \ + ${PN}-python \ + " + +RDEPENDS:${PN}-remus = "bash" + +RDEPENDS:${PN}-scripts-block = "\ + bash \ + ${PN}-scripts-common \ + ${PN}-volatiles \ + " + +RDEPENDS:${PN}-scripts-common = "bash" + +RDEPENDS:${PN}-scripts-network = "\ + bash \ + bridge-utils \ + ${PN}-scripts-common \ + ${PN}-volatiles \ + " + +RRECOMMENDS:${PN}-scripts-network = "\ + ifupdown \ + " + +RSUGGESTS:${PN}-xencov = "${PN}-xencov-split" + +RDEPENDS:${PN}-xencommons = "\ + bash \ + util-linux-prlimit \ + ${PN}-console \ + ${PN}-xenstore \ + virtual/xenstored \ + ${PN}-xl \ + ${PN}-scripts-common \ + " + +RDEPENDS:${PN}-xendomains = "\ + bash \ + ${PN}-console \ + ${PN}-scripts-block \ + ${PN}-scripts-common \ + virtual/xenstored \ + " + +RDEPENDS:${PN}-xenhypfs = " \ + ${PN}-libxenhypfs \ + " + +RDEPENDS:${PN}-xl = "libgcc" + +RDEPENDS:${PN}-xenmon = " \ + python3 \ + " + +RSUGGESTS:${PN}-xentrace = "${PN}-xentrace-format" + +RDEPENDS:${PN}-xen-watchdog = "bash" + +PACKAGES = " \ + ${PN} \ + ${@bb.utils.contains('PACKAGECONFIG', 'externalblktap', '', '${BLKTAP_PACKAGES}', d)} \ + ${PN}-console \ + ${PN}-cpuid \ + ${PN}-dbg \ + ${PN}-dev \ + ${PN}-devd \ + ${PN}-doc \ + ${PN}-flask \ + ${PN}-flask-tools \ + ${PN}-fsimage \ + ${PN}-gdbsx \ + ${PN}-hvmloader \ + ${PN}-init-xenstore-dom \ + ${PN}-kdd \ + ${PN}-libfsimage \ + ${PN}-libfsimage-dev \ + ${PN}-libxencall \ + ${PN}-libxencall-dev \ + ${PN}-libxenctrl \ + ${PN}-libxenctrl-dev \ + ${PN}-libxendevicemodel \ + ${PN}-libxendevicemodel-dev \ + ${PN}-libxenevtchn \ + ${PN}-libxenevtchn-dev \ + ${PN}-libxenforeignmemory \ + ${PN}-libxenforeignmemory-dev \ + ${PN}-libxengnttab \ + ${PN}-libxengnttab-dev \ + ${PN}-libxenguest \ + ${PN}-libxenguest-dev \ + ${PN}-libxenhypfs \ + ${PN}-libxenhypfs-dev \ + ${PN}-libxenlight \ + ${PN}-libxenlight-dev \ + ${PN}-libxenstat \ + ${PN}-libxenstat-dev \ + ${PN}-libxenstore \ + ${PN}-libxenstore-dev \ + ${PN}-libxentoolcore \ + ${PN}-libxentoolcore-dev \ + ${PN}-libxentoollog \ + ${PN}-libxentoollog-dev \ + ${PN}-libxenvchan \ + ${PN}-libxenvchan-dev \ + ${PN}-libxlutil \ + ${PN}-libxlutil-dev \ + ${PN}-livepatch \ + ${PN}-misc \ + ${PN}-pygrub \ + ${PN}-python \ + ${PN}-remus \ + ${PN}-scripts-block \ + ${PN}-scripts-common \ + ${PN}-scripts-network \ + ${PN}-shim \ + ${PN}-staticdev \ + ${PN}-ucode \ + ${PN}-vchan \ + ${PN}-volatiles \ + ${PN}-xcutils \ + ${PN}-xencommons \ + ${PN}-xencov \ + ${PN}-xend \ + ${PN}-xend-examples \ + ${PN}-xendomains \ + ${PN}-xenhypfs \ + ${PN}-xenmon \ + ${PN}-xenpaging \ + ${PN}-xenpmd \ + ${PN}-xenstat \ + ${PN}-xenstore \ + ${PN}-xenstored \ + ${PN}-xentrace \ + ${PN}-xen-watchdog \ + ${PN}-xl \ + ${PN}-xl-examples \ + ${PN}-xm \ + ${PN}-xm-examples \ + ${PN}-xen-access \ + ${PN}-xen-memshare \ + ${PN}-test \ + ${PN}-xen-vmtrace \ + ${PN}-xen-mceinj \ + " + +PROVIDES =+ " \ + virtual/xenstored \ + ${@bb.utils.contains('PACKAGECONFIG', 'externalblktap', '', '${BLKTAP_PROVIDES}', d)} \ + " + +# There are multiple implementations of the XenStore daemon, so we use a +# virtual package to allow for substitution. +RPROVIDES:${PN}-xenstored = "virtual/xenstored" + +FILES:${PN}-dbg += "\ + ${libdir}/xen/bin/.debug \ + ${nonarch_libdir}/${PYTHON_DIR}/site-packages/.debug \ + ${nonarch_libdir}/${PYTHON_DIR}/site-packages/xen/lowlevel/.debug \ + ${libdir}/fs/xfs/.debug \ + ${libdir}/fs/ufs/.debug \ + ${libdir}/fs/ext2fs-lib/.debug \ + ${libdir}/fs/fat/.debug \ + ${libdir}/fs/zfs/.debug \ + ${libdir}/fs/reiserfs/.debug \ + ${libdir}/fs/iso9660/.debug \ + ${libdir}/fs/**/.debug \ + ${sbindir}/.debug \ + ${libdir}exec/.debug \ + ${libdir}/xen/libexec/.debug \ + ${bindir}/.debug \ + ${nonarch_libdir}/${PYTHON_DIR}/dist-packages/.debug \ + ${nonarch_libdir}/${PYTHON_DIR}/dist-packages/xen/lowlevel/.debug \ + " + +FILES:${PN}-dev = "\ + ${includedir} \ + " + +FILES:${PN}-doc = "\ + ${sysconfdir}/xen/README \ + ${sysconfdir}/xen/README.incompatibilities \ + ${datadir}/doc \ + ${datadir}/man \ + " + +FILES:${PN}-staticdev += "\ + ${libdir}/libxenguest.a \ + ${libdir}/libxenlight.a \ + ${libdir}/libxenvchan.a \ + ${libdir}/libxenctrl.a \ + ${libdir}/libxlutil.a \ + ${libdir}/libxenstat.a \ + ${libdir}/libxenstore.a \ + " + +FILES:${PN}-libxencall = "${libdir}/libxencall.so.*" +FILES:${PN}-libxencall-dev = " \ + ${libdir}/libxencall.so \ + ${libdir}/pkgconfig/xencall.pc \ + ${datadir}/pkgconfig/xencall.pc \ + " + +FILES:${PN}-libxenctrl = "${libdir}/libxenctrl.so.*" +FILES:${PN}-libxenctrl-dev = " \ + ${libdir}/libxenctrl.so \ + ${libdir}/pkgconfig/xencontrol.pc \ + ${datadir}/pkgconfig/xencontrol.pc \ + " + +FILES:${PN}-libxendevicemodel = "${libdir}/libxendevicemodel.so.*" +FILES:${PN}-libxendevicemodel-dev = " \ + ${libdir}/libxendevicemodel.so \ + ${libdir}/pkgconfig/xendevicemodel.pc \ + ${datadir}/pkgconfig/xendevicemodel.pc \ + " + +FILES:${PN}-libxenevtchn = "${libdir}/libxenevtchn.so.*" +FILES:${PN}-libxenevtchn-dev = " \ + ${libdir}/libxenevtchn.so \ + ${libdir}/pkgconfig/xenevtchn.pc \ + ${datadir}/pkgconfig/xenevtchn.pc \ + " + +FILES:${PN}-libxenforeignmemory = "${libdir}/libxenforeignmemory.so.*" +FILES:${PN}-libxenforeignmemory-dev = " \ + ${libdir}/libxenforeignmemory.so \ + ${libdir}/pkgconfig/xenforeignmemory.pc \ + ${datadir}/pkgconfig/xenforeignmemory.pc \ + " + +FILES:${PN}-libxengnttab = "${libdir}/libxengnttab.so.*" +FILES:${PN}-libxengnttab-dev = " \ + ${libdir}/libxengnttab.so \ + ${libdir}/pkgconfig/xengnttab.pc \ + ${datadir}/pkgconfig/xengnttab.pc \ + " + +FILES:${PN}-libxenguest = "${libdir}/libxenguest.so.*" +FILES:${PN}-libxenguest-dev = " \ + ${libdir}/libxenguest.so \ + ${libdir}/pkgconfig/xenguest.pc \ + ${datadir}/pkgconfig/xenguest.pc \ + " + +FILES:${PN}-libxenhypfs = "${libdir}/libxenhypfs.so.*" +FILES:${PN}-libxenhypfs-dev = " \ + ${libdir}/libxenhypfs.so \ + ${libdir}/pkgconfig/xenhypfs.pc \ + " + +FILES:${PN}-libxenlight = "${libdir}/libxenlight.so.*" +FILES:${PN}-libxenlight-dev = " \ + ${libdir}/libxenlight.so \ + ${libdir}/pkgconfig/xenlight.pc \ + ${datadir}/pkgconfig/xenlight.pc \ + " + +FILES:${PN}-libxenstat = "${libdir}/libxenstat.so.*" +FILES:${PN}-libxenstat-dev = " \ + ${libdir}/libxenstat.so \ + ${libdir}/pkgconfig/xenstat.pc \ + ${datadir}/pkgconfig/xenstat.pc \ + " + +FILES:${PN}-libxenstore = "${libdir}/libxenstore.so.*" +FILES:${PN}-libxenstore-dev = " \ + ${libdir}/libxenstore.so \ + ${libdir}/pkgconfig/xenstore.pc \ + ${datadir}/pkgconfig/xenstore.pc \ + " + +FILES:${PN}-libxentoolcore = "${libdir}/libxentoolcore.so.*" +FILES:${PN}-libxentoolcore-dev = " \ + ${libdir}/libxentoolcore.so \ + ${libdir}/pkgconfig/xentoolcore.pc \ + ${datadir}/pkgconfig/xentoolcore.pc \ + " + +FILES:${PN}-libxentoollog = "${libdir}/libxentoollog.so.*" +FILES:${PN}-libxentoollog-dev = " \ + ${libdir}/libxentoollog.so \ + ${libdir}/pkgconfig/xentoollog.pc \ + ${datadir}/pkgconfig/xentoollog.pc \ + " + +FILES:${PN}-libxenvchan = "${libdir}/libxenvchan.so.*" +FILES:${PN}-libxenvchan-dev = " \ + ${libdir}/libxenvchan.so \ + ${libdir}/pkgconfig/xenvchan.pc \ + ${datadir}/pkgconfig/xenvchan.pc \ + " + +FILES:${PN}-libxlutil = "${libdir}/libxlutil.so.*" +FILES:${PN}-libxlutil-dev = " \ + ${libdir}/libxlutil.so \ + ${libdir}/pkgconfig/xlutil.pc \ + ${datadir}/pkgconfig/xlutil.pc \ + " +FILES:${PN}-libvhd = "${libdir}/libvhd.so.*" +FILES:${PN}-libvhd-dev = " \ + ${libdir}/libvhd.so \ + ${libdir}/pkgconfig/vhd.pc \ + ${datadir}/pkgconfig/vhd.pc \ + " + +FILES:${PN}-libfsimage = " \ + ${libdir}/libfsimage.so.* \ + ${libdir}/libxenfsimage.so.* \ + " + +FILES:${PN}-libfsimage-dev = " \ + ${libdir}/libfsimage.so \ + ${libdir}/libxenfsimage.so \ + ${libdir}/pkgconfig/fsimage.pc \ + ${datadir}/pkgconfig/fsimage.pc \ + ${libdir}/pkgconfig/xenfsimage.pc \ + ${datadir}/pkgconfig/xenfsimage.pc \ + " + +FILES:${PN}-fsimage = " \ + ${libdir}/fs/**/[a-z]*fsimage.so \ + ${libdir}/xenfsimage/**/fsimage.so \ + " + +FILES:${PN}-init-xenstore-dom = "${libdir}/xen/bin/init-xenstore-domain" + +FILES:${PN} = "\ + ${sysconfdir}/xen/auto \ + ${sysconfdir}/xen/cpupool \ + ${localstatedir}/xen/dump \ + " + +FILES:${PN}-console = "\ + ${libdir}/xen/bin/xenconsole \ + ${sbindir}/xenconsoled \ + " + +FILES:${PN}-cpuid = "\ + ${bindir}/xen-cpuid \ + " + +FILES:${PN}-devd = "\ + ${sysconfdir}/init.d/xendriverdomain \ + ${systemd_unitdir}/system/xendriverdomain.service \ + " + +FILES:${PN}-flask = "\ + /boot/xenpolicy-* \ + " + +FILES:${PN}-flask-tools = "\ + ${sbindir}/flask-get-bool \ + ${sbindir}/flask-getenforce \ + ${sbindir}/flask-label-pci \ + ${sbindir}/flask-loadpolicy \ + ${sbindir}/flask-set-bool \ + ${sbindir}/flask-setenforce \ + " + +FILES:${PN}-gdbsx = "\ + ${sbindir}/gdbsx \ + " + +INSANE_SKIP:${PN}-hvmloader = "arch" +FILES:${PN}-hvmloader = "\ + ${libdir}/xen/boot/hvmloader \ + " + +FILES:${PN}-kdd = "\ + ${sbindir}/kdd \ + ${sbindir}/xen-kdd \ + " + +FILES:${PN}-livepatch += " \ + ${sbindir}/xen-livepatch \ + " + +FILES:${PN}-misc = "\ + ${bindir}/xen-detect \ + ${libdir}/xen/bin/depriv-fd-checker \ + ${sbindir}/gtracestat \ + ${sbindir}/gtraceview \ + ${sbindir}/xen-bugtool \ + ${sbindir}/xenperf \ + ${sbindir}/xenpm \ + ${sbindir}/xsview \ + ${sbindir}/xen-diag \ + ${sbindir}/xen-tmem-list-parse \ + ${sbindir}/xen-python-path \ + ${sbindir}/xen-ringwatch \ + ${sbindir}/xen-hptool \ + ${sbindir}/xen-hvmcrash \ + ${sbindir}/xen-hvmctx \ + ${sbindir}/xenlockprof \ + ${sbindir}/xen-lowmemd \ + ${sbindir}/xen-mfndump \ + ${libdir}/xen/bin/verify-stream-v2 \ + ${libdir}/xen/bin/convert-legacy-stream \ + " + +FILES:${PN}-pygrub = "\ + ${bindir}/pygrub \ + ${libdir}/xen/bin/pygrub \ + " + +# Depending on the version of Xen libdir or nonarch libdir is used +FILES:${PN}-python = "\ + ${libdir}/${PYTHON_DIR} \ + ${nonarch_libdir}/${PYTHON_DIR} \ + " + +FILES:${PN}-remus = "\ + ${sysconfdir}/xen/scripts/remus-netbuf-setup \ + " + +FILES:${PN}-scripts-network = " \ + ${sysconfdir}/xen/scripts/colo-proxy-setup \ + ${sysconfdir}/xen/scripts/network-bridge \ + ${sysconfdir}/xen/scripts/network-nat \ + ${sysconfdir}/xen/scripts/network-route \ + ${sysconfdir}/xen/scripts/qemu-ifup \ + ${sysconfdir}/xen/scripts/vif2 \ + ${sysconfdir}/xen/scripts/vif-bridge \ + ${sysconfdir}/xen/scripts/vif-common.sh \ + ${sysconfdir}/xen/scripts/vif-nat \ + ${sysconfdir}/xen/scripts/vif-openvswitch \ + ${sysconfdir}/xen/scripts/vif-route \ + ${sysconfdir}/xen/scripts/vif-setup \ + " + +FILES:${PN}-scripts-block = " \ + ${sysconfdir}/xen/scripts/blktap \ + ${sysconfdir}/xen/scripts/block \ + ${sysconfdir}/xen/scripts/block-common.sh \ + ${sysconfdir}/xen/scripts/block-dummy \ + ${sysconfdir}/xen/scripts/block-enbd \ + ${sysconfdir}/xen/scripts/block-iscsi \ + ${sysconfdir}/xen/scripts/block-nbd \ + ${sysconfdir}/xen/scripts/block-drbd-probe \ + ${sysconfdir}/xen/scripts/block-tap \ + ${sysconfdir}/xen/scripts/vscsi \ + " + +FILES:${PN}-scripts-common = " \ + ${sysconfdir}/xen/scripts/external-device-migrate \ + ${sysconfdir}/xen/scripts/hotplugpath.sh \ + ${sysconfdir}/xen/scripts/locking.sh \ + ${sysconfdir}/xen/scripts/logging.sh \ + ${sysconfdir}/xen/scripts/xen-hotplug-cleanup \ + ${sysconfdir}/xen/scripts/xen-hotplug-common.sh \ + ${sysconfdir}/xen/scripts/xen-network-common.sh \ + ${sysconfdir}/xen/scripts/xen-script-common.sh \ + " + +INSANE_SKIP:${PN}-shim = "arch" +FILES:${PN}-shim = " \ + ${libdir}/xen/boot/xen-shim \ + " + +FILES:${PN}-ucode = "\ + ${sbindir}/xen-ucode \ + " + +FILES:${PN}-vchan = "\ + ${bindir}/vchan-socket-proxy \ + " + +FILES:${PN}-volatiles = "\ + ${sysconfdir}/default/volatiles/99_xen \ + ${sysconfdir}/tmpfiles.d/xen.conf \ + " + +FILES:${PN}-xcutils = "\ + ${libdir}/xen/bin/lsevtchn \ + ${libdir}/xen/bin/readnotes \ + ${libdir}/xen/bin/xc_restore \ + ${libdir}/xen/bin/xc_save \ + " + +FILES:${PN}-xencov = "\ + ${sbindir}/xencov \ + " + +FILES:${PN}-xend-examples = "\ + ${sysconfdir}/xen/xend-config.sxp \ + ${sysconfdir}/xen/xend-pci-permissive.sxp \ + ${sysconfdir}/xen/xend-pci-quirks.sxp \ + " + +FILES:${PN}-xenhypfs = "\ + ${sbindir}/xenhypfs \ + " + +FILES:${PN}-xenpaging = "\ + ${libdir}/xen/bin/xenpaging \ + ${localstatedir}/lib/xen/xenpaging \ + " + +FILES:${PN}-xenpmd = "\ + ${sbindir}/xenpmd \ + " + +FILES:${PN}-xenstat = "\ + ${sbindir}/xentop \ + " + +FILES:${PN}-xenstore = "\ + ${bindir}/xenstore \ + ${bindir}/xenstore-chmod \ + ${bindir}/xenstore-control \ + ${bindir}/xenstore-exists \ + ${bindir}/xenstore-list \ + ${bindir}/xenstore-ls \ + ${bindir}/xenstore-read \ + ${bindir}/xenstore-rm \ + ${bindir}/xenstore-watch \ + ${bindir}/xenstore-write \ + " + +FILES:${PN}-xenstored = "\ + ${sbindir}/xenstored \ + ${localstatedir}/lib/xenstored \ + " + +FILES:${PN}-xentrace = "\ + ${bindir}/xentrace \ + ${bindir}/xentrace_setsize \ + ${libdir}/xen/bin/xenctx \ + ${bindir}/xenalyze \ + ${sbindir}/xentrace \ + ${sbindir}/xentrace_setsize \ + ${sbindir}/xentrace_setmask \ + " + +FILES:${PN}-xen-watchdog = "\ + ${sbindir}/xenwatchdogd \ + ${sysconfdir}/init.d/xen-watchdog \ + ${systemd_unitdir}/system/xen-watchdog.service \ + " + +FILES:${PN}-xl = "\ + ${sysconfdir}/bash_completion.d/xl.sh \ + ${sysconfdir}/bash_completion.d/xl \ + ${sysconfdir}/xen/xl.conf \ + ${libdir}/xen/bin/libxl-save-helper \ + ${sbindir}/xl \ + ${libdir}/xen/bin/xen-init-dom0 \ + ${libdir}/xen/bin/init-dom0less \ + " + +FILES:${PN}-xl-examples = "\ + ${sysconfdir}/xen/xlexample.hvm \ + ${sysconfdir}/xen/xlexample.pvlinux \ + ${sysconfdir}/xen/xlexample.pvhlinux \ + " + +FILES:${PN}-xm-examples = "\ + ${sysconfdir}/xen/xmexample1 \ + ${sysconfdir}/xen/xmexample2 \ + ${sysconfdir}/xen/xmexample3 \ + ${sysconfdir}/xen/xmexample.hvm \ + ${sysconfdir}/xen/xmexample.hvm-stubdom \ + ${sysconfdir}/xen/xmexample.nbd \ + ${sysconfdir}/xen/xmexample.pv-grub \ + ${sysconfdir}/xen/xmexample.vti \ + " + +FILES:${PN}-xenmon = "\ + ${sbindir}/xenbaked \ + ${sbindir}/xenmon.py \ + ${sbindir}/xenmon \ + " + +FILES:${PN}-xm = "\ + ${sysconfdir}/xen/xm-config.xml \ + ${datadir}/xen/create.dtd \ + ${sbindir}/xm \ + " + +FILES:${PN}-xencommons += "\ + ${nonarch_libdir}/modules-load.d/xen.conf \ + ${sysconfdir}/default/xencommons \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', '${sysconfdir}/init.d/xencommons', d)} \ + ${sysconfdir}/xen/scripts/launch-xenstore \ + ${systemd_unitdir}/system/proc-xen.mount \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_unitdir}/system/xen-qemu-dom0-disk-backend.service', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_unitdir}/system/xenconsoled.service', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_unitdir}/system/xen-init-dom0.service', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_unitdir}/system/xenstored.service', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${systemd_unitdir}/system/var-lib-xenstored.mount', '', d)} \ + ${localstatedir} \ + " + +FILES:${PN}-xend += " \ + ${sysconfdir}/init.d/xend \ + ${sbindir}/xend \ + " + +FILES:${PN}-xendomains += "\ + ${libdir}/xen/bin/xendomains \ + ${sysconfdir}/default/xendomains \ + ${sysconfdir}/init.d/xendomains \ + ${sysconfdir}/sysconfig/xendomains \ + ${systemd_unitdir}/system/xendomains.service \ + " +FILES:${PN}-xen-access += "\ + ${sbindir}/xen-access \ + " + +FILES:${PN}-xen-memshare += "\ + ${sbindir}/xen-memshare \ + " + +# memshare is only built for x86, so allow empty package for other archs +ALLOW_EMPTY:${PN}-xen-memshare = "1" + +FILES:${PN}-test += "\ + ${libdir}/xen/bin/test-xenstore \ + ${libdir}/xen/bin/test-resource \ + ${libdir}/xen/bin/test-cpu-policy \ + ${libdir}/xen/bin/test-tsx \ + ${libdir}/xen/bin/test-paging-mempool \ + " + +# test-xenstore and test-resource currently only exist in 4.16 +# test-cpu-policy and test-tsx only exist in 4.16 for x86 +ALLOW_EMPTY:${PN}-test = "1" + +FILES:${PN}-xen-mceinj +="\ + ${sbindir}/xen-mceinj \ + " + +# xen-mceinj is only built for x86 4.16, so allow empty package +ALLOW_EMPTY:${PN}-xen-mceinj = "1" + +FILES:${PN}-xen-vmtrace +="\ + ${sbindir}/xen-vmtrace \ + " + +# xen-vmtrace is only built for x86 4.16, so allow empty package +ALLOW_EMPTY:${PN}-xen-vmtrace = "1" + +INSANE_SKIP:${PN} = "already-stripped" + +# configure init.d scripts +INITSCRIPT_PACKAGES = "${PN}-xend ${PN}-xen-watchdog ${PN}-xendomains ${PN}-devd" +INITSCRIPT_PACKAGES += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', '${PN}-xencommons', d)}" +INITSCRIPT_NAME:${PN}-xencommons = "xencommons" +INITSCRIPT_PARAMS:${PN}-xencommons = "defaults 80" +INITSCRIPT_NAME:${PN}-xen-watchdog = "xen-watchdog" +INITSCRIPT_PARAMS:${PN}-xen-watchdog = "defaults 81" +INITSCRIPT_NAME:${PN}-xend = "xend" +INITSCRIPT_PARAMS:${PN}-xend = "defaults 82" +INITSCRIPT_NAME:${PN}-xendomains = "xendomains" +INITSCRIPT_PARAMS:${PN}-xendomains = "defaults 83" +INITSCRIPT_NAME:${PN}-devd = "xendriverdomain" +INITSCRIPT_PARAMS:${PN}-devd = "defaults 82" + +# systemd packages +SYSTEMD_PACKAGES = "${PN}-xen-watchdog ${PN}-xencommons ${PN}-xendomains ${PN}-devd" +SYSTEMD_SERVICE:${PN}-devd = "xendriverdomain.service" +SYSTEMD_SERVICE:${PN}-xen-watchdog = "xen-watchdog.service" +SYSTEMD_SERVICE:${PN}-xencommons = " \ + proc-xen.mount \ + xen-qemu-dom0-disk-backend.service \ + xenconsoled.service \ + xen-init-dom0.service \ + xenstored.service \ + " +SYSTEMD_SERVICE:${PN}-xendomains = "xendomains.service" + +QEMU_ARCH = "i386" +QEMU_ARCH:aarch64 = "aarch64" + +EXTRA_OECONF += " \ + --with-systemd=${systemd_unitdir}/system \ + --with-initddir=${INIT_D_DIR} \ + --with-sysconfig-leaf-dir=default \ + --with-system-qemu=${bindir}/qemu-system-${QEMU_ARCH} \ + " + +do_configure() { + do_configure_common +} + +do_compile() { + cd ${S} + oe_runmake tools PYTHON="${PYTHON}" \ + EXTRA_CFLAGS_XEN_TOOLS="${EXTRA_CFLAGS_XEN_TOOLS}" +} + +do_install() { + cd ${S} + oe_runmake DESTDIR="${D}" install-tools + + # Remove unported python 2 scripts -- see the separate xen-python2 recipe + rm -f ${D}${bindir}/xentrace_format \ + ${D}${bindir}/xencons \ + ${D}${bindir}/xencov_split \ + ${D}${libdir}/xen/bin/xenpvnetboot + + # remove installed volatiles + rm -rf ${D}${base_prefix}/run \ + ${D}${localstatedir}/run \ + ${D}${localstatedir}/lock \ + ${D}${localstatedir}/log \ + ${D}${localstatedir}/volatile \ + ${D}${localstatedir}/lib/xen + + VOLATILE_DIRS=" \ + ${base_prefix}/run/xenstored \ + ${base_prefix}/run/xend \ + ${base_prefix}/run/xend/boot \ + ${base_prefix}/run/xen \ + ${localstatedir}/log/xen \ + ${localstatedir}/lock/xen \ + ${localstatedir}/lock/subsys \ + ${localstatedir}/lib/xen \ + " + + # install volatiles using populate_volatiles mechanism + install -d ${D}${sysconfdir}/default/volatiles + for i in $VOLATILE_DIRS; do + echo "d root root 0755 $i none" >> ${D}${sysconfdir}/default/volatiles/99_xen + done + + # workaround for xendomains script which searchs sysconfig if directory exists + install -d ${D}${sysconfdir}/sysconfig + ln -sf ${sysconfdir}/default/xendomains ${D}${sysconfdir}/sysconfig/xendomains + + # systemd + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + # install volatiles using systemd tmpfiles.d + install -d ${D}${sysconfdir}/tmpfiles.d + for i in $VOLATILE_DIRS; do + echo "d $i 0755 root root - -" >> ${D}${sysconfdir}/tmpfiles.d/xen.conf + done + fi + + if [ -e ${D}${systemd_unitdir}/system/xen-qemu-dom0-disk-backend.service ]; then + sed -i 's#ExecStart=.*qemu-system-i386\(.*\)$#ExecStart=/usr/bin/qemu-system-i386\1#' \ + ${D}${systemd_unitdir}/system/xen-qemu-dom0-disk-backend.service + fi + + if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then + rm -f ${D}/${sysconfdir}/init.d/xencommons + else + # fixup default path to qemu-system-i386 + sed -i 's#\(test -z "$QEMU_XEN" && QEMU_XEN=\).*$#\1"/usr/bin/qemu-system-i386"#' ${D}/etc/init.d/xencommons + + # remove the uncondiontally installed systemd service files + rm -f ${D}/${systemd_unitdir}/system/xen-qemu-dom0-disk-backend.service + rm -f ${D}/${systemd_unitdir}/system/xenconsoled.service + rm -f ${D}/${systemd_unitdir}/system/xen-init-dom0.service + rm -f ${D}/${systemd_unitdir}/system/xenstored.service + rm -f ${D}/${systemd_unitdir}/system/var-lib-xenstored.mount + fi +} + +pkg_postinst:${PN}-volatiles() { + if [ -z "$D" ]; then + if command -v systemd-tmpfiles >/dev/null; then + systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/xen.conf + elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then + ${sysconfdir}/init.d/populate-volatile.sh update + fi + fi +} + +do_deploy() { + XEN_FULLVERSION=$(oe_runmake -C ${S}/xen xenversion --no-print-directory) + FLASK_POLICY_FILE="xenpolicy-${XEN_FULLVERSION}" + + install -d ${DEPLOYDIR} + + # Install the flask policy in the deploy directory if it exists + if [ -f ${D}/boot/${FLASK_POLICY_FILE} ]; then + install -m 0644 ${D}/boot/${FLASK_POLICY_FILE} ${DEPLOYDIR} + ln -sf ${FLASK_POLICY_FILE} ${DEPLOYDIR}/xenpolicy-${MACHINE} + fi +} +# Scheduling the do_deploy task: +# - deploy copies files from ${D} that are written during do_install so must run +# after that task +# - the tools binaries are included in the image filesystem, so we must ensure +# that the binaries deployed match what is staged in the sysroot: +# so do_deploy must run after do_populate_sysroot +# - add the task before do_build to ensure that deployment has completed when +# the recipe build done stamp is written +addtask deploy after do_install do_populate_sysroot before do_build diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen-tools_%.bbappend b/meta-xilinx-virtualization/recipes-extended/xen/xen-tools_%.bbappend new file mode 100644 index 00000000..a9675ce3 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-extended/xen/xen-tools_%.bbappend @@ -0,0 +1,27 @@ +require xen-xilinx.inc + +# Only include the sysvinit scripts if sysvinit is enabled. +do_install:append () { + if [ -e ${D}/usr/lib/xen/bin/pygrub ]; then + sed -i -e '1c#!/usr/bin/env python3' ${D}/usr/lib/xen/bin/pygrub + fi + + if [ "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'sysvinit', '', d)}" != 'sysvinit' ]; then + rm -f ${D}/etc/init.d/xendomains + rm -f ${D}/etc/init.d/xencommons + rm -f ${D}/etc/init.d/xendriverdomain + rm -f ${D}/etc/init.d/xen-watchdog + fi +} + +# If we're in a hybrid configuration, we want to stop the system from +# running any Xen sysvinit scripts +# This has a side effect of, on a hybrid system, if the init manager is +# sysvinit, the user will need to manually enable Xen. +INHIBIT_UPDATERCD_BBCLASS = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '1', '', d)}" + +FILES:${PN} += " \ + ${libdir}/xen/bin/init-dom0less \ + ${libdir}/xen/bin/get_overlay \ + ${libdir}/xen/bin/get_overlay.sh \ + " diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen-tools_4.17.bb b/meta-xilinx-virtualization/recipes-extended/xen/xen-tools_4.17.bb new file mode 100644 index 00000000..acc9184b --- /dev/null +++ b/meta-xilinx-virtualization/recipes-extended/xen/xen-tools_4.17.bb @@ -0,0 +1,18 @@ +# xen 4.17.0 release sha +SRCREV ?= "11560248ffda3f00f20bbdf3ae088af474f7f2a3" + +XEN_URI ?= "git://xenbits.xen.org/xen.git" +XEN_REL ?= "4.17" +XEN_BRANCH ?= "stable-${XEN_REL}" + +SRC_URI = " \ + ${XEN_URI};branch=${XEN_BRANCH} \ + file://0001-python-pygrub-pass-DISTUTILS-xen-4.15.patch \ + " + +LIC_FILES_CHKSUM ?= "file://COPYING;md5=d1a1e216f80b6d8da95fec897d0dbec9" + +S = "${WORKDIR}/git" + +require xen.inc +require xen-tools.inc diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx.inc b/meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx.inc new file mode 100644 index 00000000..d7810b27 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx.inc @@ -0,0 +1,7 @@ +SRCREV = "38eebc6e5c6f7aa9180672a56d33217bf1ef1ca6" +XEN_URI = "git://github.com/Xilinx/xen.git;protocol=https" +XEN_BRANCH = "xlnx_rebase_4.17" + +PV .= "-xilinx+git${SRCPV}" + +DEFAULT_PREFERENCE = "+1" diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen.inc b/meta-xilinx-virtualization/recipes-extended/xen/xen.inc new file mode 100644 index 00000000..5937763a --- /dev/null +++ b/meta-xilinx-virtualization/recipes-extended/xen/xen.inc @@ -0,0 +1,233 @@ +HOMEPAGE = "http://xen.org" +LICENSE = "GPL-2.0-only" +SECTION = "console/tools" + +inherit autotools-brokensep pkgconfig + +require xen-arch.inc + +PACKAGECONFIG ??= " \ + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ + " + +PACKAGECONFIG[lzo] = ",,lzo" +PACKAGECONFIG[xsm] = "--enable-xsmpolicy,--disable-xsmpolicy,checkpolicy-native," +PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd," +PACKAGECONFIG[externalblktap] = ",,," + +DEPENDS = " \ + ${@bb.utils.contains('XEN_TARGET_ARCH', 'x86_64', 'dev86-native', '', d)} \ + bison-native \ + flex-native \ + file-native \ + gettext-native \ + acpica-native \ + ncurses-native \ + util-linux-native \ + xz-native \ + bridge-utils \ + curl \ + dtc \ + gettext \ + glib-2.0 \ + gnutls \ + iproute2 \ + libnl \ + ncurses \ + openssl \ + pciutils \ + pixman \ + procps \ + python3 \ + libaio \ + util-linux \ + xz \ + yajl \ + zlib \ + gnu-efi \ + " + +#### REQUIRED ENVIRONMENT VARIABLES #### +export BUILD_SYS +export HOST_SYS +export STAGING_INCDIR +export STAGING_LIBDIR + +# specify xen hypervisor to build/target +export XEN_TARGET_ARCH = "${@map_xen_arch(d.getVar('TARGET_ARCH'), d)}" +export XEN_COMPILE_ARCH = "${@map_xen_arch(d.getVar('BUILD_ARCH'), d)}" + +python () { + if d.getVar('XEN_TARGET_ARCH') == 'INVALID': + raise bb.parse.SkipPackage('Cannot map `%s` to a xen architecture' % d.getVar('TARGET_ARCH')) +} + +# Yocto appends ${PN} to libexecdir by default and Xen appends 'xen' as well +# the result is a nested xen/xen/ so let's avoid that by shunning Yocto's +# extra ${PN} appended. +libexecdir = "${libdir}" + +# hardcoded as Linux, as the only compatible hosts are Linux. +export XEN_OS = "Linux" + +# this is used for the header (#!${bindir}/python) of the install python scripts +export PYTHONPATH="${bindir}/env python3" +export ac_cv_path_PYTHONPATH="${bindir}/env python3" +export DISTUTILS_BUILD_ARGS +export DISTUTILS_INSTALL_ARGS + +# xen and seabios require HOSTCC and HOSTCXX set to cross-compile +export HOSTCC="${BUILD_CC}" +export HOSTCXX="${BUILD_CXX}" + +# make xen requires CROSS_COMPILE set by hand as it does not abide by ./configure +export CROSS_COMPILE="${TARGET_PREFIX}" + +# overide LDFLAGS to allow xen to build without: "x86_64-oe-linux-ld: unrecognized option '-Wl,-O1'" +export LDFLAGS="" + +# No additional C flags for the main hypervisor build +EXTRA_CFLAGS_XEN_CORE ?= "" +# Add prefix maps to support buildpaths QA test and reproducibility +DEBUG_PREFIX_MAP:append = " \ + -ffile-prefix-map=${S}=${PN}-source \ + -fdebug-prefix-map=${WORKDIR}=${PN} \ + " + +# - The Xen tools build for x86 systems with HVM-mode enabled includes hvmloader +# which fails to build when "-m64" is included in flags set via the +# EXTRA_CFLAGS_XEN_TOOLS: so clear TUNE_CCARGS on x86 to prevent that. +TUNE_CCARGS:x86-64="" + +# - Yocto supplies the _FORTIFY_SOURCE flag via CC/CPP/CXX but then passes the +# optimization -O via C*FLAGS which is problematic when the CFLAGS are cleared +# within the build because compilation fails with the compiler stating +# "_FORTIFY_SOURCE requires compiling with optimization (-O)". +# - Move HOST_CC_ARCH into the Xen-provided CFLAGS variables and keep +# TOOLCHAIN_OPTIONS set via CC: this enables hvmloader to be built correctly. +# It must not be compiled with SSE compiler options enabled and the Xen build +# explicitly clears CFLAGS to ensure that, so such options must not be passed +# in via the tool variable. hvmloader is required to run HVM-mode guest VMs. +CC="${CCACHE}${HOST_PREFIX}gcc ${TOOLCHAIN_OPTIONS} ${DEBUG_PREFIX_MAP} ${CC_REPRODUCIBLE_OPTIONS}" +EXTRA_CFLAGS_XEN_TOOLS="${HOST_CC_ARCH} ${CFLAGS}" +# 32-bit ARM needs the TUNE_CCARGS component of HOST_CC_ARCH to be passed +# in CC to ensure that configure can compile binaries for the right arch. +CC:arm="${CCACHE}${HOST_PREFIX}gcc ${TUNE_CCARGS} ${TOOLCHAIN_OPTIONS} ${DEBUG_PREFIX_MAP} ${CC_REPRODUCIBLE_OPTIONS}" + +# There are no Xen-provided variables for C++, so append to the tool variables: +CPP:append = " ${CPPFLAGS}" +CXX:append = " ${CXXFLAGS}" + +EXTRA_OECONF += " \ + --exec-prefix=${prefix} \ + --prefix=${prefix} \ + --host=${HOST_SYS} \ + --disable-stubdom \ + --disable-ioemu-stubdom \ + --disable-pv-grub \ + --disable-xenstore-stubdom \ + --disable-rombios \ + --disable-ocamltools \ + --disable-qemu-traditional \ + ${@bb.utils.contains('XEN_TARGET_ARCH', 'x86_64', \ + '--enable-pvshim --with-system-seabios="/usr/share/firmware/bios.bin"', \ + '--disable-pvshim --disable-seabios', d)} \ + " + +EXTRA_OEMAKE += "STDVGA_ROM=${STAGING_DIR_HOST}/usr/share/firmware/vgabios-0.8a.bin" +EXTRA_OEMAKE += "CIRRUSVGA_ROM=${STAGING_DIR_HOST}/usr/share/firmware/vgabios-0.8a.cirrus.bin" +EXTRA_OEMAKE += "SEABIOS_ROM=${STAGING_DIR_HOST}/usr/share/firmware/bios.bin" +EXTRA_OEMAKE += "ETHERBOOT_ROMS=${STAGING_DIR_HOST}/usr/share/firmware/rtl8139.rom" + +# prevent the Xen build scripts from fetching things during the build +# all dependencies should be reflected in the Yocto recipe +EXTRA_OEMAKE += "WGET=/bin/false" +EXTRA_OEMAKE += "GIT=/bin/false" + +# Improve build reproducibility: provide values for build variables. +def get_build_time_vars(d): + source_date_epoch = d.getVar('SOURCE_DATE_EPOCH') + if source_date_epoch is not None: + import datetime + utc_datetime = datetime.datetime.utcfromtimestamp(float(source_date_epoch)) + return " XEN_BUILD_DATE=" + utc_datetime.strftime("%Y-%m-%d") + \ + " XEN_BUILD_TIME=" + utc_datetime.strftime("%H:%M:%S") + return "" +EXTRA_OEMAKE += "${@['', 'XEN_WHOAMI=${PF} XEN_DOMAIN=${DISTRO} XEN_BUILD_HOST=${PN}-buildhost'] \ + [d.getVar('BUILD_REPRODUCIBLE_BINARIES') == '1']}${@get_build_time_vars(d)}" + +# Improve build reproducibility: compiler flags to remove filesystem differences. +CC_REPRODUCIBLE_OPTIONS = "${@['', '-gno-record-gcc-switches'] \ + [d.getVar('BUILD_REPRODUCIBLE_BINARIES') == '1']}" + +# check for XSM in package config to allow XSM_ENABLE to be set +python () { + pkgconfig = d.getVar('PACKAGECONFIG') + if ('xsm') in pkgconfig.split(): + d.setVar('XSM_ENABLED', '1') + else: + d.setVar('XSM_ENABLED', '0') +} + +do_post_patch() { + # fixup AS/CC/CCP/etc variable within StdGNU.mk + for i in LD CC CPP CXX; do + sed -i "s/^\($i\s\s*\).*=/\1?=/" ${S}/config/StdGNU.mk + done + # fixup environment passing in some makefiles + sed -i 's#\(\w*\)=\(\$.\w*.\)#\1="\2"#' ${S}/tools/firmware/Makefile + + # libsystemd-daemon -> libsystemd for newer systemd versions + sed -i 's#libsystemd-daemon#libsystemd#' ${S}/tools/configure + + # Improve build reproducibility: disable insertion of the build timestamp + # into the x86 EFI hypervisor binary. + # binutils should allow a user-supplied timestamp or use SOURCE_DATE_EPOCH + # for PE but currently does not. + if [ "${BUILD_REPRODUCIBLE_BINARIES}" = "1" ] ; then + sed '/^EFI_LDFLAGS = /{a EFI_LDFLAGS += --no-insert-timestamp +}' -i "${S}/xen/arch/x86/Makefile" + fi +} + +addtask post_patch after do_patch before do_configure + +# Allow all hypervisor settings in a defconfig +EXTRA_OEMAKE += "XEN_CONFIG_EXPERT=y" +# Build release versions always. Technically since we track release +# tarballs this always happens but occasionally people pull in patches +# from staging that reverts this +EXTRA_OEMAKE += "debug=n" + +do_configure_common() { + cd ${S} + + #./configure --enable-xsmpolicy does not set XSM_ENABLE must be done manually + if [ "${XSM_ENABLED}" = "1" ]; then + echo "XSM_ENABLE := y" > ${S}/.config + fi + + if [ -f "${WORKDIR}/defconfig" ]; then + cp "${WORKDIR}/defconfig" "${S}/xen/.config" || \ + bbfatal "Unable to copy defconfig to .config" + fi + + unset CFLAGS + + # do configure + oe_runconf EXTRA_CFLAGS_XEN_CORE="${EXTRA_CFLAGS_XEN_CORE}" \ + EXTRA_CFLAGS_XEN_TOOLS="${EXTRA_CFLAGS_XEN_TOOLS}" \ + PYTHON="${PYTHON}" +} + +do_compile:prepend() { + # workaround for build bug when CFLAGS is exported + # https://www.mail-archive.com/xen-devel@lists.xen.org/msg67822.html + unset CFLAGS +} + +do_install:prepend() { + # CFLAGS is used to set PY_CFLAGS which affects the pygrub install + # so also need to unset CFLAGS here: + unset CFLAGS +} diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen_%.bbappend b/meta-xilinx-virtualization/recipes-extended/xen/xen_%.bbappend new file mode 100644 index 00000000..f0340f1c --- /dev/null +++ b/meta-xilinx-virtualization/recipes-extended/xen/xen_%.bbappend @@ -0,0 +1,20 @@ +require xen-xilinx.inc + +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + +RDEPENDS:${PN}-efi += "bash python3" + +do_deploy:append() { + # Mimic older behavior for compatibility + if [ -f ${DEPLOYDIR}/xen-${MACHINE} ]; then + ln -s xen-${MACHINE} ${DEPLOYDIR}/xen + fi + + if [ -f ${DEPLOYDIR}/xen-${MACHINE}.gz ]; then + ln -s xen-${MACHINE}.gz ${DEPLOYDIR}/xen.gz + fi + + if [ -f ${DEPLOYDIR}/xen-${MACHINE}.efi ]; then + ln -s xen-${MACHINE}.efi ${DEPLOYDIR}/xen.efi + fi +} diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen_4.17.bb b/meta-xilinx-virtualization/recipes-extended/xen/xen_4.17.bb new file mode 100644 index 00000000..41cf2a15 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-extended/xen/xen_4.17.bb @@ -0,0 +1,19 @@ +# xen 4.17.0 release sha +SRCREV ?= "11560248ffda3f00f20bbdf3ae088af474f7f2a3" + +XEN_URI ?= "git://xenbits.xen.org/xen.git" +XEN_REL ?= "4.17" +XEN_BRANCH ?= "stable-${XEN_REL}" + +SRC_URI = " \ + ${XEN_URI};branch=${XEN_BRANCH} \ + file://0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-location.patch \ + file://xen-flask-race-fix.patch \ + " + +LIC_FILES_CHKSUM ?= "file://COPYING;md5=d1a1e216f80b6d8da95fec897d0dbec9" + +S = "${WORKDIR}/git" + +require xen.inc +require xen-hypervisor.inc -- cgit v1.2.3-54-g00ecf From 14f302930c32c2589268bd26a51a209e0e3a4d41 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Wed, 3 Jan 2024 19:51:29 -0700 Subject: layer.conf: Set PREFERRED VERSION for xen and xen-tools Set PREFERRED VERSION for xen and xen-tools to 4.17. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- meta-xilinx-virtualization/conf/layer.conf | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta-xilinx-virtualization/conf/layer.conf b/meta-xilinx-virtualization/conf/layer.conf index 69082d29..a9906372 100644 --- a/meta-xilinx-virtualization/conf/layer.conf +++ b/meta-xilinx-virtualization/conf/layer.conf @@ -15,3 +15,6 @@ LAYERDEPENDS_xilinx-virtualization = "\ " LAYERSERIES_COMPAT_xilinx-virtualization = "langdale" + +PREFERRED_VERSION_xen = "4.17-xilinx+git%" +PREFERRED_VERSION_xen-tools = "4.17-xilinx+git%" -- cgit v1.2.3-54-g00ecf From e77c82c25590cbb93e6c5d66618bf0f1c79220dd Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Wed, 3 Jan 2024 19:51:30 -0700 Subject: qemu: Move xen recipes and files from petalinux layer Move qemu xen recipes and files from meta-petalinux to xilinx-virtualization layer. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- .../recipes-devtools/qemu/qemu-native_%.bbappend | 1 + .../qemu/qemu-system-native_%.bbappend | 1 + .../recipes-devtools/qemu/qemu-tpm.inc | 4 + .../recipes-devtools/qemu/qemu-xen.inc | 33 + .../qemu/qemu-xilinx-native_%.bbappend | 1 + .../qemu/qemu-xilinx-system-native_%.bbappend | 1 + .../recipes-devtools/qemu/qemu-xilinx_%.bbappend | 5 + ...syntax-error-that-causes-FTBFS-in-some-co.patch | 40 + ...plugging-emulated-devices-skip-virtio-dev.patch | 51 + ...return-error-from-xen_create_ioreq_server.patch | 55 + ...-add-pseudo-RAM-region-for-grant-mappings.patch | 252 +++ ...en-mapcache-move-xen-mapcache.c-to-hw-xen.patch | 88 + ...003-hw-i386-xen-rearrange-xen_hvm_init_pc.patch | 106 + ...-qemu_map_ram_ptr-use-qemu_ram_ptr_length.patch | 113 ++ ...ove-x86-specific-fields-out-of-XenIOState.patch | 180 ++ ..._ram_addr_from_mapcache-return-1-in-case-.patch | 49 + ...-add-MemoryRegion-map-and-unmap-callbacks.patch | 150 ++ ...ate-arch_handle_ioreq-and-arch_xen_set_me.patch | 192 ++ ...-map-and-unmap-callbacks-for-grant-region.patch | 255 +++ ...e-common-functions-to-hw-xen-xen-hvm-comm.patch | 2094 ++++++++++++++++++++ .../qemu/0007-xen-mapcache-Fix-build-on-Arm.patch | 37 + ...req-creation-on-ioreq-registration-failur.patch | 42 + ...n-xen-all-export-xenstore_record_dm_state.patch | 48 + .../qemu/qemu/0008-hw-arm-Add-grant-mapping.patch | 39 + ...n-hvm-enable-xen-hvm-common-build-for-ARM.patch | 43 + .../qemu/0010-hw-arm-introduce-xenpv-machine.patch | 230 +++ ...-do-not-set-have_xen_pci_passthrough-for-.patch | 33 + ...n-arm-call-qemu_find_tpm_be-if-CONFIG_TPM.patch | 72 + ...3-arm-xenpv-fix-TPM-address-print-warning.patch | 27 + ...ate-virtio-mmio-devices-during-initializa.patch | 83 + ...tialize-RAM-and-add-hi-low-memory-regions.patch | 105 + ...-accel-xen-and-drop-extra-interface-openi.patch | 79 + .../recipes-devtools/qemu/qemu_%.bbappend | 5 + 33 files changed, 4514 insertions(+) create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-native_%.bbappend create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-system-native_%.bbappend create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-tpm.inc create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xen.inc create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-native_%.bbappend create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-system-native_%.bbappend create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx_%.bbappend create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0001-xen-pt-fix-syntax-error-that-causes-FTBFS-in-some-co.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0001-xen-when-unplugging-emulated-devices-skip-virtio-dev.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0001-xen_common-return-error-from-xen_create_ioreq_server.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0002-xen-add-pseudo-RAM-region-for-grant-mappings.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0002-xen-mapcache-move-xen-mapcache.c-to-hw-xen.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0003-hw-i386-xen-rearrange-xen_hvm_init_pc.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0003-softmmu-let-qemu_map_ram_ptr-use-qemu_ram_ptr_length.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0004-xen-hvm-move-x86-specific-fields-out-of-XenIOState.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0004-xen-let-xen_ram_addr_from_mapcache-return-1-in-case-.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0005-memory-add-MemoryRegion-map-and-unmap-callbacks.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0005-xen-hvm-create-arch_handle_ioreq-and-arch_xen_set_me.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0006-xen-add-map-and-unmap-callbacks-for-grant-region.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0006-xen-hvm-move-common-functions-to-hw-xen-xen-hvm-comm.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0007-xen-mapcache-Fix-build-on-Arm.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0007-xen-skip-ioreq-creation-on-ioreq-registration-failur.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0008-accel-xen-xen-all-export-xenstore_record_dm_state.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0008-hw-arm-Add-grant-mapping.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0009-xen-hvm-enable-xen-hvm-common-build-for-ARM.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0010-hw-arm-introduce-xenpv-machine.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0011-meson.build-do-not-set-have_xen_pci_passthrough-for-.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0012-xen-arm-call-qemu_find_tpm_be-if-CONFIG_TPM.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0013-arm-xenpv-fix-TPM-address-print-warning.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0014-xen_arm-Create-virtio-mmio-devices-during-initializa.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0015-xen_arm-Initialize-RAM-and-add-hi-low-memory-regions.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0016-xen_arm-Add-accel-xen-and-drop-extra-interface-openi.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu_%.bbappend diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-native_%.bbappend b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-native_%.bbappend new file mode 100644 index 00000000..e84844cf --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-native_%.bbappend @@ -0,0 +1 @@ +require qemu-tpm.inc diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-system-native_%.bbappend b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-system-native_%.bbappend new file mode 100644 index 00000000..e84844cf --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-system-native_%.bbappend @@ -0,0 +1 @@ +require qemu-tpm.inc diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-tpm.inc b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-tpm.inc new file mode 100644 index 00000000..a582b035 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-tpm.inc @@ -0,0 +1,4 @@ +PACKAGECONFIG:append = "${@bb.utils.contains('DISTRO_FEATURES', 'tpm', ' tpm', '', d)}" + +PACKAGECONFIG[tpm] = "--enable-tpm,--disable-tpm,,swtpm libtpm" + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xen.inc b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xen.inc new file mode 100644 index 00000000..6d1cd1eb --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xen.inc @@ -0,0 +1,33 @@ +# Xen specific changes are only applicable on the target +SRC_URI_XEN = "" +SRC_URI_XEN:class-target = " \ + file://0001-xen-pt-fix-syntax-error-that-causes-FTBFS-in-some-co.patch \ + file://0001-xen_common-return-error-from-xen_create_ioreq_server.patch \ + file://0002-xen-mapcache-move-xen-mapcache.c-to-hw-xen.patch \ + file://0003-hw-i386-xen-rearrange-xen_hvm_init_pc.patch \ + file://0004-xen-hvm-move-x86-specific-fields-out-of-XenIOState.patch \ + file://0005-xen-hvm-create-arch_handle_ioreq-and-arch_xen_set_me.patch \ + file://0006-xen-hvm-move-common-functions-to-hw-xen-xen-hvm-comm.patch \ + file://0007-xen-skip-ioreq-creation-on-ioreq-registration-failur.patch \ + file://0008-accel-xen-xen-all-export-xenstore_record_dm_state.patch \ + file://0009-xen-hvm-enable-xen-hvm-common-build-for-ARM.patch \ + file://0010-hw-arm-introduce-xenpv-machine.patch \ + file://0011-meson.build-do-not-set-have_xen_pci_passthrough-for-.patch \ + file://0012-xen-arm-call-qemu_find_tpm_be-if-CONFIG_TPM.patch \ + file://0013-arm-xenpv-fix-TPM-address-print-warning.patch \ + file://0014-xen_arm-Create-virtio-mmio-devices-during-initializa.patch \ + file://0015-xen_arm-Initialize-RAM-and-add-hi-low-memory-regions.patch \ + file://0016-xen_arm-Add-accel-xen-and-drop-extra-interface-openi.patch \ + file://0001-xen-when-unplugging-emulated-devices-skip-virtio-dev.patch \ + file://0002-xen-add-pseudo-RAM-region-for-grant-mappings.patch \ + file://0003-softmmu-let-qemu_map_ram_ptr-use-qemu_ram_ptr_length.patch \ + file://0004-xen-let-xen_ram_addr_from_mapcache-return-1-in-case-.patch \ + file://0005-memory-add-MemoryRegion-map-and-unmap-callbacks.patch \ + file://0006-xen-add-map-and-unmap-callbacks-for-grant-region.patch \ + file://0007-xen-mapcache-Fix-build-on-Arm.patch \ + file://0008-hw-arm-Add-grant-mapping.patch \ + " + +FILESEXTRAPATHS:prepend:class-target := "${THISDIR}/qemu:" + +SRC_URI .= "${@bb.utils.contains('DISTRO_FEATURES', 'xen', '${SRC_URI_XEN}', '', d)}" diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-native_%.bbappend b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-native_%.bbappend new file mode 100644 index 00000000..e84844cf --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-native_%.bbappend @@ -0,0 +1 @@ +require qemu-tpm.inc diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-system-native_%.bbappend b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-system-native_%.bbappend new file mode 100644 index 00000000..e84844cf --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-system-native_%.bbappend @@ -0,0 +1 @@ +require qemu-tpm.inc diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx_%.bbappend b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx_%.bbappend new file mode 100644 index 00000000..3e93710c --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx_%.bbappend @@ -0,0 +1,5 @@ +require qemu-tpm.inc +require qemu-xen.inc + +# We do not want QEMU, on the target to be configured with OpenGL +PACKAGECONFIG:remove:class-target:petalinux = "virglrenderer epoxy gtk+" diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0001-xen-pt-fix-syntax-error-that-causes-FTBFS-in-some-co.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0001-xen-pt-fix-syntax-error-that-causes-FTBFS-in-some-co.patch new file mode 100644 index 00000000..99eaeeaf --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0001-xen-pt-fix-syntax-error-that-causes-FTBFS-in-some-co.patch @@ -0,0 +1,40 @@ +From ba24456b93a205b728475d5f0880f3ec495e383a Mon Sep 17 00:00:00 2001 +From: Chuck Zmudzinski +Date: Mon, 31 Oct 2022 17:35:52 -0400 +Subject: [PATCH] xen/pt: fix syntax error that causes FTBFS in some + configurations +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +When Qemu is built with --enable-xen and --disable-xen-pci-passthrough +and the target os is linux, the build fails with: + +meson.build:3477:2: ERROR: File xen_pt_stub.c does not exist. + +Fixes: 582ea95f5f93 ("meson: convert hw/xen") + +Signed-off-by: Chuck Zmudzinski +Reviewed-by: Philippe Mathieu-Daudé +Message-Id: <5f1342a13c09af77b1a7b0aeaba5955bcea89731.1667242033.git.brchuckz@aol.com> +Signed-off-by: Laurent Vivier +--- + hw/xen/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/hw/xen/meson.build b/hw/xen/meson.build +index 08dc1f6857..ae0ace3046 100644 +--- a/hw/xen/meson.build ++++ b/hw/xen/meson.build +@@ -18,7 +18,7 @@ if have_xen_pci_passthrough + 'xen_pt_msi.c', + )) + else +- xen_specific_ss.add('xen_pt_stub.c') ++ xen_specific_ss.add(files('xen_pt_stub.c')) + endif + + specific_ss.add_all(when: ['CONFIG_XEN', xen], if_true: xen_specific_ss) +-- +2.17.0 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0001-xen-when-unplugging-emulated-devices-skip-virtio-dev.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0001-xen-when-unplugging-emulated-devices-skip-virtio-dev.patch new file mode 100644 index 00000000..71dfb3be --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0001-xen-when-unplugging-emulated-devices-skip-virtio-dev.patch @@ -0,0 +1,51 @@ +From e2b85efc82bc26a838f666c8282528ee38cf6377 Mon Sep 17 00:00:00 2001 +From: Juergen Gross +Date: Tue, 16 Mar 2021 14:00:33 +0100 +Subject: [PATCH 1/8] xen: when unplugging emulated devices skip virtio devices + +Virtio devices should never be unplugged at boot time, as they are +similar to pci passthrough devices. + +Signed-off-by: Juergen Gross +Acked-by: Stefano Stabellini +--- + hw/i386/xen/xen_platform.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/hw/i386/xen/xen_platform.c b/hw/i386/xen/xen_platform.c +index a64265cca0..39bbb12675 100644 +--- a/hw/i386/xen/xen_platform.c ++++ b/hw/i386/xen/xen_platform.c +@@ -30,6 +30,7 @@ + #include "hw/pci/pci.h" + #include "hw/xen/xen_common.h" + #include "migration/vmstate.h" ++#include "hw/virtio/virtio-bus.h" + #include "hw/xen/xen-legacy-backend.h" + #include "trace.h" + #include "sysemu/xen.h" +@@ -114,7 +115,8 @@ static void unplug_nic(PCIBus *b, PCIDevice *d, void *o) + /* We have to ignore passthrough devices */ + if (pci_get_word(d->config + PCI_CLASS_DEVICE) == + PCI_CLASS_NETWORK_ETHERNET +- && strcmp(d->name, "xen-pci-passthrough") != 0) { ++ && strcmp(d->name, "xen-pci-passthrough") != 0 ++ && !qdev_get_child_bus(&d->qdev, TYPE_VIRTIO_BUS)) { + object_unparent(OBJECT(d)); + } + } +@@ -191,6 +193,11 @@ static void unplug_disks(PCIBus *b, PCIDevice *d, void *opaque) + return; + } + ++ /* Ignore virtio devices */ ++ if (qdev_get_child_bus(&d->qdev, TYPE_VIRTIO_BUS)) { ++ return; ++ } ++ + switch (pci_get_word(d->config + PCI_CLASS_DEVICE)) { + case PCI_CLASS_STORAGE_IDE: + pci_xen_ide_unplug(DEVICE(d), aux); +-- +2.25.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0001-xen_common-return-error-from-xen_create_ioreq_server.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0001-xen_common-return-error-from-xen_create_ioreq_server.patch new file mode 100644 index 00000000..d4349b1d --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0001-xen_common-return-error-from-xen_create_ioreq_server.patch @@ -0,0 +1,55 @@ +From ef4d512aff004c62d550cdd64329c6c1acd0f217 Mon Sep 17 00:00:00 2001 +From: Stefano Stabellini +Date: Fri, 1 Jul 2022 18:48:03 -0700 +Subject: [PATCH 01/16] xen_common: return error from xen_create_ioreq_server + +Signed-off-by: Stefano Stabellini +--- + include/hw/xen/xen_common.h | 12 +++++++----- + 1 file changed, 7 insertions(+), 5 deletions(-) + +diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h +index 77ce17d8a4..c2d2f36bde 100644 +--- a/include/hw/xen/xen_common.h ++++ b/include/hw/xen/xen_common.h +@@ -467,8 +467,8 @@ static inline void xen_unmap_pcidev(domid_t dom, + { + } + +-static inline void xen_create_ioreq_server(domid_t dom, +- ioservid_t *ioservid) ++static inline int xen_create_ioreq_server(domid_t dom, ++ ioservid_t *ioservid) + { + } + +@@ -600,8 +600,8 @@ static inline void xen_unmap_pcidev(domid_t dom, + PCI_FUNC(pci_dev->devfn)); + } + +-static inline void xen_create_ioreq_server(domid_t dom, +- ioservid_t *ioservid) ++static inline int xen_create_ioreq_server(domid_t dom, ++ ioservid_t *ioservid) + { + int rc = xendevicemodel_create_ioreq_server(xen_dmod, dom, + HVM_IOREQSRV_BUFIOREQ_ATOMIC, +@@ -609,12 +609,14 @@ static inline void xen_create_ioreq_server(domid_t dom, + + if (rc == 0) { + trace_xen_ioreq_server_create(*ioservid); +- return; ++ return rc; + } + + *ioservid = 0; + use_default_ioreq_server = true; + trace_xen_default_ioreq_server(); ++ ++ return rc; + } + + static inline void xen_destroy_ioreq_server(domid_t dom, +-- +2.17.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0002-xen-add-pseudo-RAM-region-for-grant-mappings.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0002-xen-add-pseudo-RAM-region-for-grant-mappings.patch new file mode 100644 index 00000000..8facb189 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0002-xen-add-pseudo-RAM-region-for-grant-mappings.patch @@ -0,0 +1,252 @@ +From e18daac2f6d3f60c8217f44189a91cf8240a591f Mon Sep 17 00:00:00 2001 +From: Juergen Gross +Date: Thu, 20 May 2021 11:19:58 +0200 +Subject: [PATCH 2/8] xen: add pseudo RAM region for grant mappings + +Add a memory region which can be used to automatically map granted +memory. It is starting at 0x8000000000000000ULL in order to be able to +distinguish it from normal RAM. + +For this reason the xen.ram memory region is expanded, which has no +further impact as it is used just as a container of the real RAM +regions and now the grant region. + +Signed-off-by: Juergen Gross +Signed-off-by: Vikram Garhwal +Acked-by: Stefano Stabellini +--- + hw/i386/xen/xen-hvm.c | 3 ++ + hw/xen/xen-hvm-common.c | 4 +-- + hw/xen/xen-mapcache.c | 28 +++++++++++++++ + include/exec/ram_addr.h | 1 + + include/hw/xen/xen-hvm-common.h | 2 ++ + include/hw/xen/xen_pvdev.h | 3 ++ + include/sysemu/xen-mapcache.h | 3 ++ + softmmu/physmem.c | 61 ++++++++++++++++++++------------- + 8 files changed, 80 insertions(+), 25 deletions(-) + +diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c +index 36d87555a9..2dcc2e1179 100644 +--- a/hw/i386/xen/xen-hvm.c ++++ b/hw/i386/xen/xen-hvm.c +@@ -171,6 +171,9 @@ static void xen_ram_init(PCMachineState *pcms, + x86ms->above_4g_mem_size); + memory_region_add_subregion(sysmem, 0x100000000ULL, &ram_hi); + } ++ ++ /* Add grant mappings as a pseudo RAM region. */ ++ ram_grants = *xen_init_grant_ram(); + } + + static XenPhysmap *get_physmapping(hwaddr start_addr, ram_addr_t size) +diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c +index 7e7d23397f..abd6e379d3 100644 +--- a/hw/xen/xen-hvm-common.c ++++ b/hw/xen/xen-hvm-common.c +@@ -10,7 +10,7 @@ + #include "hw/boards.h" + #include "hw/xen/arch_hvm.h" + +-MemoryRegion ram_memory; ++MemoryRegion ram_memory, ram_grants; + + MemoryListener xen_io_listener = { + .name = "xen-io", +@@ -742,7 +742,7 @@ void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr, + return; + } + +- if (mr == &ram_memory) { ++ if (mr == &ram_memory || mr == &ram_grants) { + return; + } + +diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c +index a2f93096e7..0b75f1633a 100644 +--- a/hw/xen/xen-mapcache.c ++++ b/hw/xen/xen-mapcache.c +@@ -14,7 +14,10 @@ + + #include + ++#include "hw/xen/xen-hvm-common.h" + #include "hw/xen/xen-legacy-backend.h" ++#include "hw/xen/xen_pvdev.h" ++ + #include "qemu/bitmap.h" + + #include "sysemu/runstate.h" +@@ -597,3 +600,28 @@ uint8_t *xen_replace_cache_entry(hwaddr old_phys_addr, + mapcache_unlock(); + return p; + } ++ ++MemoryRegion *xen_init_grant_ram(void) ++{ ++ RAMBlock *block; ++ ++ memory_region_init(&ram_grants, NULL, "xen.grants", ++ XEN_MAX_VIRTIO_GRANTS * XC_PAGE_SIZE); ++ block = g_malloc0(sizeof(*block)); ++ block->mr = &ram_grants; ++ block->used_length = XEN_MAX_VIRTIO_GRANTS * XC_PAGE_SIZE; ++ block->max_length = XEN_MAX_VIRTIO_GRANTS * XC_PAGE_SIZE; ++ block->fd = -1; ++ block->page_size = XC_PAGE_SIZE; ++ block->host = (void *)XEN_GRANT_ADDR_OFF; ++ block->offset = XEN_GRANT_ADDR_OFF; ++ block->flags = RAM_PREALLOC; ++ ram_grants.ram_block = block; ++ ram_grants.ram = true; ++ ram_grants.terminates = true; ++ ram_block_add_list(block); ++ memory_region_add_subregion(get_system_memory(), XEN_GRANT_ADDR_OFF, ++ &ram_grants); ++ ++ return &ram_grants; ++} +diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h +index f3e0c78161..e60b055867 100644 +--- a/include/exec/ram_addr.h ++++ b/include/exec/ram_addr.h +@@ -137,6 +137,7 @@ void qemu_ram_free(RAMBlock *block); + int qemu_ram_resize(RAMBlock *block, ram_addr_t newsize, Error **errp); + + void qemu_ram_msync(RAMBlock *block, ram_addr_t start, ram_addr_t length); ++void ram_block_add_list(RAMBlock *new_block); + + /* Clear whole block of mem */ + static inline void qemu_ram_block_writeback(RAMBlock *block) +diff --git a/include/hw/xen/xen-hvm-common.h b/include/hw/xen/xen-hvm-common.h +index 2979f84ee2..6f7cc05d38 100644 +--- a/include/hw/xen/xen-hvm-common.h ++++ b/include/hw/xen/xen-hvm-common.h +@@ -16,6 +16,8 @@ + #include + + extern MemoryRegion ram_memory; ++ ++extern MemoryRegion ram_grants; + extern MemoryListener xen_io_listener; + extern DeviceListener xen_device_listener; + +diff --git a/include/hw/xen/xen_pvdev.h b/include/hw/xen/xen_pvdev.h +index 7cd4bc2b82..36cd3ec1d4 100644 +--- a/include/hw/xen/xen_pvdev.h ++++ b/include/hw/xen/xen_pvdev.h +@@ -78,4 +78,7 @@ int xen_pv_send_notify(struct XenLegacyDevice *xendev); + void xen_pv_printf(struct XenLegacyDevice *xendev, int msg_level, + const char *fmt, ...) G_GNUC_PRINTF(3, 4); + ++#define XEN_GRANT_ADDR_OFF 0x8000000000000000ULL ++#define XEN_MAX_VIRTIO_GRANTS 65536 ++ + #endif /* QEMU_HW_XEN_PVDEV_H */ +diff --git a/include/sysemu/xen-mapcache.h b/include/sysemu/xen-mapcache.h +index c8e7c2f6cf..f4bedb1c11 100644 +--- a/include/sysemu/xen-mapcache.h ++++ b/include/sysemu/xen-mapcache.h +@@ -10,6 +10,7 @@ + #define XEN_MAPCACHE_H + + #include "exec/cpu-common.h" ++#include "exec/ram_addr.h" + + typedef hwaddr (*phys_offset_to_gaddr_t)(hwaddr phys_offset, + ram_addr_t size); +@@ -25,6 +26,8 @@ void xen_invalidate_map_cache(void); + uint8_t *xen_replace_cache_entry(hwaddr old_phys_addr, + hwaddr new_phys_addr, + hwaddr size); ++MemoryRegion *xen_init_grant_ram(void); ++ + #else + + static inline void xen_map_cache_init(phys_offset_to_gaddr_t f, +diff --git a/softmmu/physmem.c b/softmmu/physmem.c +index dc3c3e5f2e..63ba5f7495 100644 +--- a/softmmu/physmem.c ++++ b/softmmu/physmem.c +@@ -1971,12 +1971,46 @@ static void dirty_memory_extend(ram_addr_t old_ram_size, + } + } + ++static void ram_block_add_list_locked(RAMBlock *new_block) ++ { ++ RAMBlock *block; ++ RAMBlock *last_block = NULL; ++ ++ /* Keep the list sorted from biggest to smallest block. Unlike QTAILQ, ++ * QLIST (which has an RCU-friendly variant) does not have insertion at ++ * tail, so save the last element in last_block. ++ */ ++ RAMBLOCK_FOREACH(block) { ++ last_block = block; ++ if (block->max_length < new_block->max_length) { ++ break; ++ } ++ } ++ if (block) { ++ QLIST_INSERT_BEFORE_RCU(block, new_block, next); ++ } else if (last_block) { ++ QLIST_INSERT_AFTER_RCU(last_block, new_block, next); ++ } else { /* list is empty */ ++ QLIST_INSERT_HEAD_RCU(&ram_list.blocks, new_block, next); ++ } ++ ram_list.mru_block = NULL; ++ ++ /* Write list before version */ ++ smp_wmb(); ++ ram_list.version++; ++} ++ ++void ram_block_add_list(RAMBlock *new_block) ++{ ++ qemu_mutex_lock_ramlist(); ++ ram_block_add_list_locked(new_block); ++ qemu_mutex_unlock_ramlist(); ++} ++ + static void ram_block_add(RAMBlock *new_block, Error **errp) + { + const bool noreserve = qemu_ram_is_noreserve(new_block); + const bool shared = qemu_ram_is_shared(new_block); +- RAMBlock *block; +- RAMBlock *last_block = NULL; + ram_addr_t old_ram_size, new_ram_size; + Error *err = NULL; + +@@ -2014,28 +2048,9 @@ static void ram_block_add(RAMBlock *new_block, Error **errp) + if (new_ram_size > old_ram_size) { + dirty_memory_extend(old_ram_size, new_ram_size); + } +- /* Keep the list sorted from biggest to smallest block. Unlike QTAILQ, +- * QLIST (which has an RCU-friendly variant) does not have insertion at +- * tail, so save the last element in last_block. +- */ +- RAMBLOCK_FOREACH(block) { +- last_block = block; +- if (block->max_length < new_block->max_length) { +- break; +- } +- } +- if (block) { +- QLIST_INSERT_BEFORE_RCU(block, new_block, next); +- } else if (last_block) { +- QLIST_INSERT_AFTER_RCU(last_block, new_block, next); +- } else { /* list is empty */ +- QLIST_INSERT_HEAD_RCU(&ram_list.blocks, new_block, next); +- } +- ram_list.mru_block = NULL; + +- /* Write list before version */ +- smp_wmb(); +- ram_list.version++; ++ ram_block_add_list_locked(new_block); ++ + qemu_mutex_unlock_ramlist(); + + cpu_physical_memory_set_dirty_range(new_block->offset, +-- +2.25.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0002-xen-mapcache-move-xen-mapcache.c-to-hw-xen.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0002-xen-mapcache-move-xen-mapcache.c-to-hw-xen.patch new file mode 100644 index 00000000..35ca6df4 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0002-xen-mapcache-move-xen-mapcache.c-to-hw-xen.patch @@ -0,0 +1,88 @@ +From 423468bdb3728154e95af18ef755bc75c5d59a3a Mon Sep 17 00:00:00 2001 +From: Vikram Garhwal +Date: Thu, 30 Jun 2022 18:19:50 -0700 +Subject: [PATCH 02/16] xen-mapcache: move xen-mapcache.c to hw/xen + +xen-mapcache.c contains common functions which are useful for Xen on ARM +IOREQ handling. Moving it out of i386 to hw/xen for commong access. + +Signed-off-by: Vikram Garhwal +Reviewed-by: Stefano Stabellini +Signed-off-by: Stefano Stabellini +--- + hw/i386/meson.build | 1 + + hw/i386/xen/meson.build | 1 - + hw/i386/xen/trace-events | 5 ----- + hw/xen/meson.build | 4 ++++ + hw/xen/trace-events | 5 +++++ + hw/{i386 => }/xen/xen-mapcache.c | 0 + 6 files changed, 10 insertions(+), 6 deletions(-) + rename hw/{i386 => }/xen/xen-mapcache.c (100%) + +diff --git a/hw/i386/meson.build b/hw/i386/meson.build +index 213e2e82b3..cfdbfdcbcb 100644 +--- a/hw/i386/meson.build ++++ b/hw/i386/meson.build +@@ -33,5 +33,6 @@ subdir('kvm') + subdir('xen') + + i386_ss.add_all(xenpv_ss) ++i386_ss.add_all(xen_ss) + + hw_arch += {'i386': i386_ss} +diff --git a/hw/i386/xen/meson.build b/hw/i386/xen/meson.build +index be84130300..2fcc46e6ca 100644 +--- a/hw/i386/xen/meson.build ++++ b/hw/i386/xen/meson.build +@@ -1,6 +1,5 @@ + i386_ss.add(when: 'CONFIG_XEN', if_true: files( + 'xen-hvm.c', +- 'xen-mapcache.c', + 'xen_apic.c', + 'xen_platform.c', + 'xen_pvdevice.c', +diff --git a/hw/i386/xen/trace-events b/hw/i386/xen/trace-events +index 5d6be61090..a0c89d91c4 100644 +--- a/hw/i386/xen/trace-events ++++ b/hw/i386/xen/trace-events +@@ -21,8 +21,3 @@ xen_map_resource_ioreq(uint32_t id, void *addr) "id: %u addr: %p" + cpu_ioreq_config_read(void *req, uint32_t sbdf, uint32_t reg, uint32_t size, uint32_t data) "I/O=%p sbdf=0x%x reg=%u size=%u data=0x%x" + cpu_ioreq_config_write(void *req, uint32_t sbdf, uint32_t reg, uint32_t size, uint32_t data) "I/O=%p sbdf=0x%x reg=%u size=%u data=0x%x" + +-# xen-mapcache.c +-xen_map_cache(uint64_t phys_addr) "want 0x%"PRIx64 +-xen_remap_bucket(uint64_t index) "index 0x%"PRIx64 +-xen_map_cache_return(void* ptr) "%p" +- +diff --git a/hw/xen/meson.build b/hw/xen/meson.build +index ae0ace3046..19d0637c46 100644 +--- a/hw/xen/meson.build ++++ b/hw/xen/meson.build +@@ -22,3 +22,7 @@ else + endif + + specific_ss.add_all(when: ['CONFIG_XEN', xen], if_true: xen_specific_ss) ++ ++xen_ss = ss.source_set() ++ ++xen_ss.add(when: 'CONFIG_XEN', if_true: files('xen-mapcache.c')) +diff --git a/hw/xen/trace-events b/hw/xen/trace-events +index 3da3fd8348..2c8f238f42 100644 +--- a/hw/xen/trace-events ++++ b/hw/xen/trace-events +@@ -41,3 +41,8 @@ xs_node_vprintf(char *path, char *value) "%s %s" + xs_node_vscanf(char *path, char *value) "%s %s" + xs_node_watch(char *path) "%s" + xs_node_unwatch(char *path) "%s" ++ ++# xen-mapcache.c ++xen_map_cache(uint64_t phys_addr) "want 0x%"PRIx64 ++xen_remap_bucket(uint64_t index) "index 0x%"PRIx64 ++xen_map_cache_return(void* ptr) "%p" +diff --git a/hw/i386/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c +similarity index 100% +rename from hw/i386/xen/xen-mapcache.c +rename to hw/xen/xen-mapcache.c +-- +2.17.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0003-hw-i386-xen-rearrange-xen_hvm_init_pc.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0003-hw-i386-xen-rearrange-xen_hvm_init_pc.patch new file mode 100644 index 00000000..1113cf39 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0003-hw-i386-xen-rearrange-xen_hvm_init_pc.patch @@ -0,0 +1,106 @@ +From 4472924c800e9dbf46e4c2432565d3e406b35d27 Mon Sep 17 00:00:00 2001 +From: Vikram Garhwal +Date: Fri, 1 Jul 2022 16:32:33 -0700 +Subject: [PATCH 03/16] hw/i386/xen: rearrange xen_hvm_init_pc + +Move references to: +- xen_get_vmport_regs_pfn +- xen_suspend_notifier +- xen_wakeup_notifier +- xen_ram_init + +towards the end of the function. This is done to keep the the common +ioreq functions in one place which will be moved to new function in next +patch in order to make it useful to ARM machines also. + +Signed-off-by: Vikram Garhwal +Signed-off-by: Stefano Stabellini +Reviewed-by: Stefano Stabellini +--- + hw/i386/xen/xen-hvm.c | 49 ++++++++++++++++++++++--------------------- + 1 file changed, 25 insertions(+), 24 deletions(-) + +diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c +index e4293d6d66..b27484ad22 100644 +--- a/hw/i386/xen/xen-hvm.c ++++ b/hw/i386/xen/xen-hvm.c +@@ -1416,12 +1416,6 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory) + state->exit.notify = xen_exit_notifier; + qemu_add_exit_notifier(&state->exit); + +- state->suspend.notify = xen_suspend_notifier; +- qemu_register_suspend_notifier(&state->suspend); +- +- state->wakeup.notify = xen_wakeup_notifier; +- qemu_register_wakeup_notifier(&state->wakeup); +- + /* + * Register wake-up support in QMP query-current-machine API + */ +@@ -1432,23 +1426,6 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory) + goto err; + } + +- rc = xen_get_vmport_regs_pfn(xen_xc, xen_domid, &ioreq_pfn); +- if (!rc) { +- DPRINTF("shared vmport page at pfn %lx\n", ioreq_pfn); +- state->shared_vmport_page = +- xenforeignmemory_map(xen_fmem, xen_domid, PROT_READ|PROT_WRITE, +- 1, &ioreq_pfn, NULL); +- if (state->shared_vmport_page == NULL) { +- error_report("map shared vmport IO page returned error %d handle=%p", +- errno, xen_xc); +- goto err; +- } +- } else if (rc != -ENOSYS) { +- error_report("get vmport regs pfn returned error %d, rc=%d", +- errno, rc); +- goto err; +- } +- + /* Note: cpus is empty at this point in init */ + state->cpu_by_vcpu_id = g_new0(CPUState *, max_cpus); + +@@ -1486,7 +1463,6 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory) + #else + xen_map_cache_init(NULL, state); + #endif +- xen_ram_init(pcms, ms->ram_size, ram_memory); + + qemu_add_vm_change_state_handler(xen_hvm_change_state_handler, state); + +@@ -1513,6 +1489,31 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory) + QLIST_INIT(&xen_physmap); + xen_read_physmap(state); + ++ state->suspend.notify = xen_suspend_notifier; ++ qemu_register_suspend_notifier(&state->suspend); ++ ++ state->wakeup.notify = xen_wakeup_notifier; ++ qemu_register_wakeup_notifier(&state->wakeup); ++ ++ rc = xen_get_vmport_regs_pfn(xen_xc, xen_domid, &ioreq_pfn); ++ if (!rc) { ++ DPRINTF("shared vmport page at pfn %lx\n", ioreq_pfn); ++ state->shared_vmport_page = ++ xenforeignmemory_map(xen_fmem, xen_domid, PROT_READ|PROT_WRITE, ++ 1, &ioreq_pfn, NULL); ++ if (state->shared_vmport_page == NULL) { ++ error_report("map shared vmport IO page returned error %d handle=%p", ++ errno, xen_xc); ++ goto err; ++ } ++ } else if (rc != -ENOSYS) { ++ error_report("get vmport regs pfn returned error %d, rc=%d", ++ errno, rc); ++ goto err; ++ } ++ ++ xen_ram_init(pcms, ms->ram_size, ram_memory); ++ + /* Disable ACPI build because Xen handles it */ + pcms->acpi_build_enabled = false; + +-- +2.17.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0003-softmmu-let-qemu_map_ram_ptr-use-qemu_ram_ptr_length.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0003-softmmu-let-qemu_map_ram_ptr-use-qemu_ram_ptr_length.patch new file mode 100644 index 00000000..bff815bc --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0003-softmmu-let-qemu_map_ram_ptr-use-qemu_ram_ptr_length.patch @@ -0,0 +1,113 @@ +From cb4be1f7185c5974523c764f3f6efe3af6633d71 Mon Sep 17 00:00:00 2001 +From: Juergen Gross +Date: Thu, 20 May 2021 11:54:48 +0200 +Subject: [PATCH 3/8] softmmu: let qemu_map_ram_ptr() use qemu_ram_ptr_length() + +qemu_map_ram_ptr() and qemu_ram_ptr_length() share quite some code, so +modify qemu_ram_ptr_length() a little bit and use it for +qemu_map_ram_ptr(), too. + +Signed-off-by: Juergen Gross +Acked-by: Stefano Stabellini +--- + softmmu/physmem.c | 56 ++++++++++++++++++----------------------------- + 1 file changed, 21 insertions(+), 35 deletions(-) + +diff --git a/softmmu/physmem.c b/softmmu/physmem.c +index 63ba5f7495..439a53a1be 100644 +--- a/softmmu/physmem.c ++++ b/softmmu/physmem.c +@@ -2306,38 +2306,7 @@ void qemu_ram_remap(ram_addr_t addr, ram_addr_t length) + } + #endif /* !_WIN32 */ + +-/* Return a host pointer to ram allocated with qemu_ram_alloc. +- * This should not be used for general purpose DMA. Use address_space_map +- * or address_space_rw instead. For local memory (e.g. video ram) that the +- * device owns, use memory_region_get_ram_ptr. +- * +- * Called within RCU critical section. +- */ +-void *qemu_map_ram_ptr(RAMBlock *ram_block, ram_addr_t addr) +-{ +- RAMBlock *block = ram_block; +- +- if (block == NULL) { +- block = qemu_get_ram_block(addr); +- addr -= block->offset; +- } +- +- if (xen_enabled() && block->host == NULL) { +- /* We need to check if the requested address is in the RAM +- * because we don't want to map the entire memory in QEMU. +- * In that case just map until the end of the page. +- */ +- if (block->offset == 0) { +- return xen_map_cache(addr, 0, 0, false); +- } +- +- block->host = xen_map_cache(block->offset, block->max_length, 1, false); +- } +- return ramblock_ptr(block, addr); +-} +- +-/* Return a host pointer to guest's ram. Similar to qemu_map_ram_ptr +- * but takes a size argument. ++/* Return a host pointer to guest's ram. + * + * Called within RCU critical section. + */ +@@ -2345,7 +2314,9 @@ static void *qemu_ram_ptr_length(RAMBlock *ram_block, ram_addr_t addr, + hwaddr *size, bool lock) + { + RAMBlock *block = ram_block; +- if (*size == 0) { ++ hwaddr len = 0; ++ ++ if (size && *size == 0) { + return NULL; + } + +@@ -2353,7 +2324,10 @@ static void *qemu_ram_ptr_length(RAMBlock *ram_block, ram_addr_t addr, + block = qemu_get_ram_block(addr); + addr -= block->offset; + } +- *size = MIN(*size, block->max_length - addr); ++ if (size) { ++ *size = MIN(*size, block->max_length - addr); ++ len = *size; ++ } + + if (xen_enabled() && block->host == NULL) { + /* We need to check if the requested address is in the RAM +@@ -2361,7 +2335,7 @@ static void *qemu_ram_ptr_length(RAMBlock *ram_block, ram_addr_t addr, + * In that case just map the requested area. + */ + if (block->offset == 0) { +- return xen_map_cache(addr, *size, lock, lock); ++ return xen_map_cache(addr, len, lock, lock); + } + + block->host = xen_map_cache(block->offset, block->max_length, 1, lock); +@@ -2370,6 +2344,18 @@ static void *qemu_ram_ptr_length(RAMBlock *ram_block, ram_addr_t addr, + return ramblock_ptr(block, addr); + } + ++/* Return a host pointer to ram allocated with qemu_ram_alloc. ++ * This should not be used for general purpose DMA. Use address_space_map ++ * or address_space_rw instead. For local memory (e.g. video ram) that the ++ * device owns, use memory_region_get_ram_ptr. ++ * ++ * Called within RCU critical section. ++ */ ++void *qemu_map_ram_ptr(RAMBlock *ram_block, ram_addr_t addr) ++{ ++ return qemu_ram_ptr_length(ram_block, addr, NULL, false); ++} ++ + /* Return the offset of a hostpointer within a ramblock */ + ram_addr_t qemu_ram_block_host_offset(RAMBlock *rb, void *host) + { +-- +2.25.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0004-xen-hvm-move-x86-specific-fields-out-of-XenIOState.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0004-xen-hvm-move-x86-specific-fields-out-of-XenIOState.patch new file mode 100644 index 00000000..4337e0c8 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0004-xen-hvm-move-x86-specific-fields-out-of-XenIOState.patch @@ -0,0 +1,180 @@ +From 2a01fa06d267f68148d3a6df50675edfe090601a Mon Sep 17 00:00:00 2001 +From: Stefano Stabellini +Date: Fri, 1 Jul 2022 18:16:52 -0700 +Subject: [PATCH 04/16] xen-hvm: move x86-specific fields out of XenIOState + +Move: +- shared_vmport_page +- log_for_dirtybit +- dirty_bitmap +- suspend +- wakeup + +out of XenIOState as they are only used on x86, especially the ones +related to dirty logging. + +Remove free_phys_offset that was unused. + +Signed-off-by: Stefano Stabellini +--- + hw/i386/xen/xen-hvm.c | 58 ++++++++++++++++++++----------------------- + 1 file changed, 27 insertions(+), 31 deletions(-) + +diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c +index b27484ad22..225cfdf8b7 100644 +--- a/hw/i386/xen/xen-hvm.c ++++ b/hw/i386/xen/xen-hvm.c +@@ -73,6 +73,7 @@ struct shared_vmport_iopage { + }; + typedef struct shared_vmport_iopage shared_vmport_iopage_t; + #endif ++static shared_vmport_iopage_t *shared_vmport_page; + + static inline uint32_t xen_vcpu_eport(shared_iopage_t *shared_page, int i) + { +@@ -95,6 +96,11 @@ typedef struct XenPhysmap { + } XenPhysmap; + + static QLIST_HEAD(, XenPhysmap) xen_physmap; ++static const XenPhysmap *log_for_dirtybit = NULL; ++/* Buffer used by xen_sync_dirty_bitmap */ ++static unsigned long *dirty_bitmap = NULL; ++static Notifier suspend; ++static Notifier wakeup; + + typedef struct XenPciDevice { + PCIDevice *pci_dev; +@@ -105,7 +111,6 @@ typedef struct XenPciDevice { + typedef struct XenIOState { + ioservid_t ioservid; + shared_iopage_t *shared_page; +- shared_vmport_iopage_t *shared_vmport_page; + buffered_iopage_t *buffered_io_page; + xenforeignmemory_resource_handle *fres; + QEMUTimer *buffered_io_timer; +@@ -125,14 +130,8 @@ typedef struct XenIOState { + MemoryListener io_listener; + QLIST_HEAD(, XenPciDevice) dev_list; + DeviceListener device_listener; +- hwaddr free_phys_offset; +- const XenPhysmap *log_for_dirtybit; +- /* Buffer used by xen_sync_dirty_bitmap */ +- unsigned long *dirty_bitmap; + + Notifier exit; +- Notifier suspend; +- Notifier wakeup; + } XenIOState; + + /* Xen specific function for piix pci */ +@@ -462,10 +461,10 @@ static int xen_remove_from_physmap(XenIOState *state, + } + + QLIST_REMOVE(physmap, list); +- if (state->log_for_dirtybit == physmap) { +- state->log_for_dirtybit = NULL; +- g_free(state->dirty_bitmap); +- state->dirty_bitmap = NULL; ++ if (log_for_dirtybit == physmap) { ++ log_for_dirtybit = NULL; ++ g_free(dirty_bitmap); ++ dirty_bitmap = NULL; + } + g_free(physmap); + +@@ -626,16 +625,16 @@ static void xen_sync_dirty_bitmap(XenIOState *state, + return; + } + +- if (state->log_for_dirtybit == NULL) { +- state->log_for_dirtybit = physmap; +- state->dirty_bitmap = g_new(unsigned long, bitmap_size); +- } else if (state->log_for_dirtybit != physmap) { ++ if (log_for_dirtybit == NULL) { ++ log_for_dirtybit = physmap; ++ dirty_bitmap = g_new(unsigned long, bitmap_size); ++ } else if (log_for_dirtybit != physmap) { + /* Only one range for dirty bitmap can be tracked. */ + return; + } + + rc = xen_track_dirty_vram(xen_domid, start_addr >> TARGET_PAGE_BITS, +- npages, state->dirty_bitmap); ++ npages, dirty_bitmap); + if (rc < 0) { + #ifndef ENODATA + #define ENODATA ENOENT +@@ -650,7 +649,7 @@ static void xen_sync_dirty_bitmap(XenIOState *state, + } + + for (i = 0; i < bitmap_size; i++) { +- unsigned long map = state->dirty_bitmap[i]; ++ unsigned long map = dirty_bitmap[i]; + while (map != 0) { + j = ctzl(map); + map &= ~(1ul << j); +@@ -676,12 +675,10 @@ static void xen_log_start(MemoryListener *listener, + static void xen_log_stop(MemoryListener *listener, MemoryRegionSection *section, + int old, int new) + { +- XenIOState *state = container_of(listener, XenIOState, memory_listener); +- + if (old & ~new & (1 << DIRTY_MEMORY_VGA)) { +- state->log_for_dirtybit = NULL; +- g_free(state->dirty_bitmap); +- state->dirty_bitmap = NULL; ++ log_for_dirtybit = NULL; ++ g_free(dirty_bitmap); ++ dirty_bitmap = NULL; + /* Disable dirty bit tracking */ + xen_track_dirty_vram(xen_domid, 0, 0, NULL); + } +@@ -1021,9 +1018,9 @@ static void handle_vmport_ioreq(XenIOState *state, ioreq_t *req) + { + vmware_regs_t *vmport_regs; + +- assert(state->shared_vmport_page); ++ assert(shared_vmport_page); + vmport_regs = +- &state->shared_vmport_page->vcpu_vmport_regs[state->send_vcpu]; ++ &shared_vmport_page->vcpu_vmport_regs[state->send_vcpu]; + QEMU_BUILD_BUG_ON(sizeof(*req) < sizeof(*vmport_regs)); + + current_cpu = state->cpu_by_vcpu_id[state->send_vcpu]; +@@ -1468,7 +1465,6 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory) + + state->memory_listener = xen_memory_listener; + memory_listener_register(&state->memory_listener, &address_space_memory); +- state->log_for_dirtybit = NULL; + + state->io_listener = xen_io_listener; + memory_listener_register(&state->io_listener, &address_space_io); +@@ -1489,19 +1485,19 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory) + QLIST_INIT(&xen_physmap); + xen_read_physmap(state); + +- state->suspend.notify = xen_suspend_notifier; +- qemu_register_suspend_notifier(&state->suspend); ++ suspend.notify = xen_suspend_notifier; ++ qemu_register_suspend_notifier(&suspend); + +- state->wakeup.notify = xen_wakeup_notifier; +- qemu_register_wakeup_notifier(&state->wakeup); ++ wakeup.notify = xen_wakeup_notifier; ++ qemu_register_wakeup_notifier(&wakeup); + + rc = xen_get_vmport_regs_pfn(xen_xc, xen_domid, &ioreq_pfn); + if (!rc) { + DPRINTF("shared vmport page at pfn %lx\n", ioreq_pfn); +- state->shared_vmport_page = ++ shared_vmport_page = + xenforeignmemory_map(xen_fmem, xen_domid, PROT_READ|PROT_WRITE, + 1, &ioreq_pfn, NULL); +- if (state->shared_vmport_page == NULL) { ++ if (shared_vmport_page == NULL) { + error_report("map shared vmport IO page returned error %d handle=%p", + errno, xen_xc); + goto err; +-- +2.17.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0004-xen-let-xen_ram_addr_from_mapcache-return-1-in-case-.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0004-xen-let-xen_ram_addr_from_mapcache-return-1-in-case-.patch new file mode 100644 index 00000000..25dc0ae0 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0004-xen-let-xen_ram_addr_from_mapcache-return-1-in-case-.patch @@ -0,0 +1,49 @@ +From 7dfa8828bd2e61fc5bf2bf6294aad16b2bf4ff8a Mon Sep 17 00:00:00 2001 +From: Juergen Gross +Date: Thu, 20 May 2021 13:31:32 +0200 +Subject: [PATCH 4/8] xen: let xen_ram_addr_from_mapcache() return -1 in case + of not found entry + +Today xen_ram_addr_from_mapcache() will either abort() or return 0 in +case it can't find a matching entry for a pointer value. Both cases +are bad, so change that to return an invalid address instead. + +Signed-off-by: Juergen Gross +Acked-by: Stefano Stabellini +--- + hw/xen/xen-mapcache.c | 12 +++--------- + 1 file changed, 3 insertions(+), 9 deletions(-) + +diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c +index 0b75f1633a..e53e7221f1 100644 +--- a/hw/xen/xen-mapcache.c ++++ b/hw/xen/xen-mapcache.c +@@ -405,13 +405,8 @@ ram_addr_t xen_ram_addr_from_mapcache(void *ptr) + } + } + if (!found) { +- fprintf(stderr, "%s, could not find %p\n", __func__, ptr); +- QTAILQ_FOREACH(reventry, &mapcache->locked_entries, next) { +- DPRINTF(" "TARGET_FMT_plx" -> %p is present\n", reventry->paddr_index, +- reventry->vaddr_req); +- } +- abort(); +- return 0; ++ mapcache_unlock(); ++ return RAM_ADDR_INVALID; + } + + entry = &mapcache->entry[paddr_index % mapcache->nr_buckets]; +@@ -419,8 +414,7 @@ ram_addr_t xen_ram_addr_from_mapcache(void *ptr) + entry = entry->next; + } + if (!entry) { +- DPRINTF("Trying to find address %p that is not in the mapcache!\n", ptr); +- raddr = 0; ++ raddr = RAM_ADDR_INVALID; + } else { + raddr = (reventry->paddr_index << MCACHE_BUCKET_SHIFT) + + ((unsigned long) ptr - (unsigned long) entry->vaddr_base); +-- +2.25.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0005-memory-add-MemoryRegion-map-and-unmap-callbacks.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0005-memory-add-MemoryRegion-map-and-unmap-callbacks.patch new file mode 100644 index 00000000..db6d8fe5 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0005-memory-add-MemoryRegion-map-and-unmap-callbacks.patch @@ -0,0 +1,150 @@ +From bd32a130ca633eae7cf0f4ff0fa856004d413df0 Mon Sep 17 00:00:00 2001 +From: Juergen Gross +Date: Thu, 27 May 2021 15:27:55 +0200 +Subject: [PATCH 5/8] memory: add MemoryRegion map and unmap callbacks + +In order to support mapping and unmapping guest memory dynamically to +and from qemu during address_space_[un]map() operations add the map() +and unmap() callbacks to MemoryRegionOps. + +Those will be used e.g. for Xen grant mappings when performing guest +I/Os. + +Signed-off-by: Juergen Gross +Signed-off-by: Vikram Garhwal +Acked-by: Stefano Stabellini +--- + include/exec/memory.h | 19 +++++++++++++++++ + softmmu/physmem.c | 47 +++++++++++++++++++++++++++++++++---------- + 2 files changed, 55 insertions(+), 11 deletions(-) + +diff --git a/include/exec/memory.h b/include/exec/memory.h +index bfb1de8eea..19e2aac694 100644 +--- a/include/exec/memory.h ++++ b/include/exec/memory.h +@@ -245,6 +245,25 @@ struct MemoryRegionOps { + unsigned size, + MemTxAttrs attrs); + ++ /* Dynamically create mapping. @addr is the guest address to map; @plen ++ * is the pointer to the usable length of the buffer. ++ * @mr contents can be changed in case a new memory region is created for ++ * the mapping. ++ * Returns the buffer address for accessing the data. */ ++ void *(*map)(MemoryRegion **mr, ++ hwaddr addr, ++ hwaddr *plen, ++ bool is_write, ++ MemTxAttrs attrs); ++ ++ /* Unmap an area obtained via map() before. */ ++ void (*unmap)(MemoryRegion *mr, ++ void *buffer, ++ ram_addr_t addr, ++ hwaddr len, ++ bool is_write, ++ hwaddr access_len); ++ + enum device_endian endianness; + /* Guest-visible constraints: */ + struct { +diff --git a/softmmu/physmem.c b/softmmu/physmem.c +index 439a53a1be..2038240311 100644 +--- a/softmmu/physmem.c ++++ b/softmmu/physmem.c +@@ -3237,7 +3237,7 @@ void *address_space_map(AddressSpace *as, + hwaddr len = *plen; + hwaddr l, xlat; + MemoryRegion *mr; +- void *ptr; ++ void *ptr = NULL; + FlatView *fv; + + if (len == 0) { +@@ -3273,10 +3273,17 @@ void *address_space_map(AddressSpace *as, + + + memory_region_ref(mr); ++ ++ if (mr->ops && mr->ops->map) { ++ ptr = mr->ops->map(&mr, addr, plen, is_write, attrs); ++ } ++ + *plen = flatview_extend_translation(fv, addr, len, mr, xlat, + l, is_write, attrs); + fuzz_dma_read_cb(addr, *plen, mr); +- ptr = qemu_ram_ptr_length(mr->ram_block, xlat, plen, true); ++ if (ptr == NULL) { ++ ptr = qemu_ram_ptr_length(mr->ram_block, xlat, plen, true); ++ } + + return ptr; + } +@@ -3294,11 +3301,16 @@ void address_space_unmap(AddressSpace *as, void *buffer, hwaddr len, + + mr = memory_region_from_host(buffer, &addr1); + assert(mr != NULL); +- if (is_write) { +- invalidate_and_set_dirty(mr, addr1, access_len); +- } +- if (xen_enabled()) { +- xen_invalidate_map_cache_entry(buffer); ++ ++ if (mr->ops && mr->ops->unmap) { ++ mr->ops->unmap(mr, buffer, addr1, len, is_write, access_len); ++ } else { ++ if (is_write) { ++ invalidate_and_set_dirty(mr, addr1, access_len); ++ } ++ if (xen_enabled()) { ++ xen_invalidate_map_cache_entry(buffer); ++ } + } + memory_region_unref(mr); + return; +@@ -3370,10 +3382,17 @@ int64_t address_space_cache_init(MemoryRegionCache *cache, + * doing this if we found actual RAM, which behaves the same + * regardless of attributes; so UNSPECIFIED is fine. + */ ++ if (mr->ops && mr->ops->map) { ++ cache->ptr = mr->ops->map(&mr, addr, &l, is_write, ++ MEMTXATTRS_UNSPECIFIED); ++ } ++ + l = flatview_extend_translation(cache->fv, addr, len, mr, + cache->xlat, l, is_write, + MEMTXATTRS_UNSPECIFIED); +- cache->ptr = qemu_ram_ptr_length(mr->ram_block, cache->xlat, &l, true); ++ if (!cache->ptr) { ++ cache->ptr = qemu_ram_ptr_length(mr->ram_block, cache->xlat, &l, true); ++ } + } else { + cache->ptr = NULL; + } +@@ -3395,14 +3414,20 @@ void address_space_cache_invalidate(MemoryRegionCache *cache, + + void address_space_cache_destroy(MemoryRegionCache *cache) + { +- if (!cache->mrs.mr) { ++ MemoryRegion *mr = cache->mrs.mr; ++ ++ if (!mr) { + return; + } + +- if (xen_enabled()) { ++ if (mr->ops && mr->ops->unmap) { ++ mr->ops->unmap(mr, cache->ptr, cache->xlat, cache->len, ++ cache->is_write, cache->len); ++ } else if (xen_enabled()) { + xen_invalidate_map_cache_entry(cache->ptr); + } +- memory_region_unref(cache->mrs.mr); ++ ++ memory_region_unref(mr); + flatview_unref(cache->fv); + cache->mrs.mr = NULL; + cache->fv = NULL; +-- +2.25.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0005-xen-hvm-create-arch_handle_ioreq-and-arch_xen_set_me.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0005-xen-hvm-create-arch_handle_ioreq-and-arch_xen_set_me.patch new file mode 100644 index 00000000..6b56a39e --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0005-xen-hvm-create-arch_handle_ioreq-and-arch_xen_set_me.patch @@ -0,0 +1,192 @@ +From c38436434fc888ba8844d99eab451f9b734e5e5b Mon Sep 17 00:00:00 2001 +From: Stefano Stabellini +Date: Fri, 1 Jul 2022 19:34:39 -0700 +Subject: [PATCH 05/16] xen-hvm: create arch_handle_ioreq and + arch_xen_set_memory + +In preparation to moving most of xen-hvm code to an arch-neutral +location, move the x86-specific portion of xen_set_memory to +arch_xen_set_memory. + +Also move handle_vmport_ioreq to arch_handle_ioreq. + +Signed-off-by: Stefano Stabellini +Signed-off-by: Vikram Garhwal +Reviewed-by: Stefano Stabellini +--- + hw/i386/xen/xen-hvm.c | 98 ++++++++++++++++++++-------------- + include/hw/i386/xen_arch_hvm.h | 10 ++++ + include/hw/xen/arch_hvm.h | 3 ++ + 3 files changed, 71 insertions(+), 40 deletions(-) + create mode 100644 include/hw/i386/xen_arch_hvm.h + create mode 100644 include/hw/xen/arch_hvm.h + +diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c +index 225cfdf8b7..178f0c68fc 100644 +--- a/hw/i386/xen/xen-hvm.c ++++ b/hw/i386/xen/xen-hvm.c +@@ -134,6 +134,8 @@ typedef struct XenIOState { + Notifier exit; + } XenIOState; + ++#include "hw/xen/arch_hvm.h" ++ + /* Xen specific function for piix pci */ + + int xen_pci_slot_get_pirq(PCIDevice *pci_dev, int irq_num) +@@ -476,10 +478,6 @@ static void xen_set_memory(struct MemoryListener *listener, + bool add) + { + XenIOState *state = container_of(listener, XenIOState, memory_listener); +- hwaddr start_addr = section->offset_within_address_space; +- ram_addr_t size = int128_get64(section->size); +- bool log_dirty = memory_region_is_logging(section->mr, DIRTY_MEMORY_VGA); +- hvmmem_type_t mem_type; + + if (section->mr == &ram_memory) { + return; +@@ -492,38 +490,7 @@ static void xen_set_memory(struct MemoryListener *listener, + section); + } + } +- +- if (!memory_region_is_ram(section->mr)) { +- return; +- } +- +- if (log_dirty != add) { +- return; +- } +- +- trace_xen_client_set_memory(start_addr, size, log_dirty); +- +- start_addr &= TARGET_PAGE_MASK; +- size = TARGET_PAGE_ALIGN(size); +- +- if (add) { +- if (!memory_region_is_rom(section->mr)) { +- xen_add_to_physmap(state, start_addr, size, +- section->mr, section->offset_within_region); +- } else { +- mem_type = HVMMEM_ram_ro; +- if (xen_set_mem_type(xen_domid, mem_type, +- start_addr >> TARGET_PAGE_BITS, +- size >> TARGET_PAGE_BITS)) { +- DPRINTF("xen_set_mem_type error, addr: "TARGET_FMT_plx"\n", +- start_addr); +- } +- } +- } else { +- if (xen_remove_from_physmap(state, start_addr, size) < 0) { +- DPRINTF("physmapping does not exist at "TARGET_FMT_plx"\n", start_addr); +- } +- } ++ arch_xen_set_memory(state, section, add); + } + + static void xen_region_add(MemoryListener *listener, +@@ -1051,9 +1018,6 @@ static void handle_ioreq(XenIOState *state, ioreq_t *req) + case IOREQ_TYPE_COPY: + cpu_ioreq_move(req); + break; +- case IOREQ_TYPE_VMWARE_PORT: +- handle_vmport_ioreq(state, req); +- break; + case IOREQ_TYPE_TIMEOFFSET: + break; + case IOREQ_TYPE_INVALIDATE: +@@ -1063,7 +1027,7 @@ static void handle_ioreq(XenIOState *state, ioreq_t *req) + cpu_ioreq_config(state, req); + break; + default: +- hw_error("Invalid ioreq type 0x%x\n", req->type); ++ arch_handle_ioreq(state, req); + } + if (req->dir == IOREQ_READ) { + trace_handle_ioreq_read(req, req->type, req->df, req->data_is_ptr, +@@ -1604,3 +1568,57 @@ void qmp_xen_set_global_dirty_log(bool enable, Error **errp) + memory_global_dirty_log_stop(GLOBAL_DIRTY_MIGRATION); + } + } ++ ++void arch_xen_set_memory(XenIOState *state,MemoryRegionSection *section, ++ bool add) ++{ ++ hwaddr start_addr = section->offset_within_address_space; ++ ram_addr_t size = int128_get64(section->size); ++ bool log_dirty = memory_region_is_logging(section->mr, DIRTY_MEMORY_VGA); ++ hvmmem_type_t mem_type; ++ ++ if (!memory_region_is_ram(section->mr)) { ++ return; ++ } ++ ++ if (log_dirty != add) { ++ return; ++ } ++ ++ trace_xen_client_set_memory(start_addr, size, log_dirty); ++ ++ start_addr &= TARGET_PAGE_MASK; ++ size = TARGET_PAGE_ALIGN(size); ++ ++ if (add) { ++ if (!memory_region_is_rom(section->mr)) { ++ xen_add_to_physmap(state, start_addr, size, ++ section->mr, section->offset_within_region); ++ } else { ++ mem_type = HVMMEM_ram_ro; ++ if (xen_set_mem_type(xen_domid, mem_type, ++ start_addr >> TARGET_PAGE_BITS, ++ size >> TARGET_PAGE_BITS)) { ++ DPRINTF("xen_set_mem_type error, addr: "TARGET_FMT_plx"\n", ++ start_addr); ++ } ++ } ++ } else { ++ if (xen_remove_from_physmap(state, start_addr, size) < 0) { ++ DPRINTF("physmapping does not exist at "TARGET_FMT_plx"\n", start_addr); ++ } ++ } ++} ++ ++void arch_handle_ioreq(XenIOState *state, ioreq_t *req) ++{ ++ switch (req->type) { ++ case IOREQ_TYPE_VMWARE_PORT: ++ handle_vmport_ioreq(state, req); ++ break; ++ default: ++ hw_error("Invalid ioreq type 0x%x\n", req->type); ++ } ++ ++ return; ++} +diff --git a/include/hw/i386/xen_arch_hvm.h b/include/hw/i386/xen_arch_hvm.h +new file mode 100644 +index 0000000000..1b2c71ba4f +--- /dev/null ++++ b/include/hw/i386/xen_arch_hvm.h +@@ -0,0 +1,10 @@ ++#ifndef HW_XEN_ARCH_I386_HVM_H ++#define HW_XEN_ARCH_I386_HVM_H ++ ++#include ++ ++void arch_handle_ioreq(XenIOState *state, ioreq_t *req); ++void arch_xen_set_memory(XenIOState *state, ++ MemoryRegionSection *section, ++ bool add); ++#endif +diff --git a/include/hw/xen/arch_hvm.h b/include/hw/xen/arch_hvm.h +new file mode 100644 +index 0000000000..26674648d8 +--- /dev/null ++++ b/include/hw/xen/arch_hvm.h +@@ -0,0 +1,3 @@ ++#if defined(TARGET_I386) || defined(TARGET_X86_64) ++#include "hw/i386/xen_arch_hvm.h" ++#endif +-- +2.17.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0006-xen-add-map-and-unmap-callbacks-for-grant-region.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0006-xen-add-map-and-unmap-callbacks-for-grant-region.patch new file mode 100644 index 00000000..87bbc3c6 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0006-xen-add-map-and-unmap-callbacks-for-grant-region.patch @@ -0,0 +1,255 @@ +From ef94d70d4a22c5282d6955a7ed066ef502e99829 Mon Sep 17 00:00:00 2001 +From: Juergen Gross +Date: Fri, 26 Aug 2022 13:57:06 +0200 +Subject: [PATCH 6/8] xen: add map and unmap callbacks for grant region + +Add the callbacks for mapping/unmapping guest memory via grants to the +special grant memory region. + +Signed-off-by: Juergen Gross +Signed-off-by: Vikram Garhwal +Signed-off-by: Stefano Stabellini +Acked-by: Stefano Stabellini +--- + hw/xen/xen-mapcache.c | 167 +++++++++++++++++++++++++++++++++++++++++- + softmmu/physmem.c | 11 ++- + 2 files changed, 173 insertions(+), 5 deletions(-) + +diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c +index e53e7221f1..f81b75d216 100644 +--- a/hw/xen/xen-mapcache.c ++++ b/hw/xen/xen-mapcache.c +@@ -9,6 +9,8 @@ + */ + + #include "qemu/osdep.h" ++#include "qemu/queue.h" ++#include "qemu/thread.h" + #include "qemu/units.h" + #include "qemu/error-report.h" + +@@ -24,6 +26,8 @@ + #include "sysemu/xen-mapcache.h" + #include "trace.h" + ++#include ++#include + + //#define MAPCACHE_DEBUG + +@@ -386,7 +390,7 @@ uint8_t *xen_map_cache(hwaddr phys_addr, hwaddr size, + return p; + } + +-ram_addr_t xen_ram_addr_from_mapcache(void *ptr) ++static ram_addr_t xen_ram_addr_from_mapcache_try(void *ptr) + { + MapCacheEntry *entry = NULL; + MapCacheRev *reventry; +@@ -595,10 +599,170 @@ uint8_t *xen_replace_cache_entry(hwaddr old_phys_addr, + return p; + } + ++struct XENMappedGrantRegion { ++ void *addr; ++ unsigned int pages; ++ unsigned int refs; ++ unsigned int prot; ++ uint32_t idx; ++ QLIST_ENTRY(XENMappedGrantRegion) list; ++}; ++ ++static xengnttab_handle *xen_region_gnttabdev; ++static QLIST_HEAD(GrantRegionList, XENMappedGrantRegion) xen_grant_mappings = ++ QLIST_HEAD_INITIALIZER(xen_grant_mappings); ++static QemuMutex xen_map_mutex; ++ ++static void *xen_map_grant_dyn(MemoryRegion **mr, hwaddr addr, hwaddr *plen, ++ bool is_write, MemTxAttrs attrs) ++{ ++ unsigned int page_off = addr & (XC_PAGE_SIZE - 1); ++ unsigned int i; ++ unsigned int nrefs = (page_off + *plen + XC_PAGE_SIZE - 1) >> XC_PAGE_SHIFT; ++ uint32_t ref = (addr - XEN_GRANT_ADDR_OFF) >> XC_PAGE_SHIFT; ++ uint32_t *refs; ++ unsigned int prot = PROT_READ; ++ struct XENMappedGrantRegion *mgr = NULL; ++ ++ if (is_write) { ++ prot |= PROT_WRITE; ++ } ++ ++ qemu_mutex_lock(&xen_map_mutex); ++ ++ QLIST_FOREACH(mgr, &xen_grant_mappings, list) { ++ if (mgr->idx == ref && ++ mgr->pages == nrefs && ++ (mgr->prot & prot) == prot) { ++ break; ++ } ++ } ++ if (!mgr) { ++ mgr = g_new(struct XENMappedGrantRegion, 1); ++ ++ if (nrefs == 1) { ++ refs = &ref; ++ } else { ++ refs = g_new(uint32_t, nrefs); ++ for (i = 0; i < nrefs; i++) { ++ refs[i] = ref + i; ++ } ++ } ++ mgr->addr = xengnttab_map_domain_grant_refs(xen_region_gnttabdev, nrefs, ++ xen_domid, refs, prot); ++ if (mgr->addr) { ++ mgr->pages = nrefs; ++ mgr->refs = 1; ++ mgr->prot = prot; ++ mgr->idx = ref; ++ ++ QLIST_INSERT_HEAD(&xen_grant_mappings, mgr, list); ++ } else { ++ g_free(mgr); ++ mgr = NULL; ++ } ++ } else { ++ mgr->refs++; ++ } ++ ++ qemu_mutex_unlock(&xen_map_mutex); ++ ++ if (nrefs > 1) { ++ g_free(refs); ++ } ++ ++ return mgr ? mgr->addr + page_off : NULL; ++} ++ ++static void xen_unmap_grant_dyn(MemoryRegion *mr, void *buffer, ram_addr_t addr, ++ hwaddr len, bool is_write, hwaddr access_len) ++{ ++ unsigned int page_off = (unsigned long)buffer & (XC_PAGE_SIZE - 1); ++ unsigned int nrefs = (page_off + len + XC_PAGE_SIZE - 1) >> XC_PAGE_SHIFT; ++ unsigned int prot = PROT_READ; ++ struct XENMappedGrantRegion *mgr = NULL; ++ ++ if (is_write) { ++ prot |= PROT_WRITE; ++ } ++ ++ qemu_mutex_lock(&xen_map_mutex); ++ ++ QLIST_FOREACH(mgr, &xen_grant_mappings, list) { ++ if (mgr->addr == buffer - page_off && ++ mgr->pages == nrefs && ++ (mgr->prot & prot) == prot) { ++ break; ++ } ++ } ++ if (mgr) { ++ mgr->refs--; ++ if (!mgr->refs) { ++ xengnttab_unmap(xen_region_gnttabdev, mgr->addr, nrefs); ++ ++ QLIST_REMOVE(mgr, list); ++ g_free(mgr); ++ } ++ } else { ++ error_report("xen_unmap_grant_dyn() trying to unmap unknown buffer"); ++ } ++ ++ qemu_mutex_unlock(&xen_map_mutex); ++} ++ ++static ram_addr_t xen_ram_addr_from_grant_cache(void *ptr) ++{ ++ unsigned int page_off = (unsigned long)ptr & (XC_PAGE_SIZE - 1); ++ struct XENMappedGrantRegion *mgr = NULL; ++ ram_addr_t raddr = RAM_ADDR_INVALID; ++ ++ qemu_mutex_lock(&xen_map_mutex); ++ ++ QLIST_FOREACH(mgr, &xen_grant_mappings, list) { ++ if (mgr->addr == ptr - page_off) { ++ break; ++ } ++ } ++ ++ if (mgr) { ++ raddr = (mgr->idx << XC_PAGE_SHIFT) + page_off + XEN_GRANT_ADDR_OFF; ++ } ++ ++ qemu_mutex_unlock(&xen_map_mutex); ++ ++ return raddr; ++} ++ ++ram_addr_t xen_ram_addr_from_mapcache(void *ptr) ++{ ++ ram_addr_t raddr; ++ ++ raddr = xen_ram_addr_from_mapcache_try(ptr); ++ if (raddr == RAM_ADDR_INVALID) { ++ raddr = xen_ram_addr_from_grant_cache(ptr); ++ } ++ ++ return raddr; ++} ++ ++static const struct MemoryRegionOps xen_grant_mr_ops = { ++ .map = xen_map_grant_dyn, ++ .unmap = xen_unmap_grant_dyn, ++ .endianness = DEVICE_LITTLE_ENDIAN, ++}; ++ + MemoryRegion *xen_init_grant_ram(void) + { + RAMBlock *block; + ++ qemu_mutex_init(&xen_map_mutex); ++ ++ xen_region_gnttabdev = xengnttab_open(NULL, 0); ++ if (xen_region_gnttabdev == NULL) { ++ fprintf(stderr, "can't open gnttab device\n"); ++ return NULL; ++ } ++ + memory_region_init(&ram_grants, NULL, "xen.grants", + XEN_MAX_VIRTIO_GRANTS * XC_PAGE_SIZE); + block = g_malloc0(sizeof(*block)); +@@ -613,6 +777,7 @@ MemoryRegion *xen_init_grant_ram(void) + ram_grants.ram_block = block; + ram_grants.ram = true; + ram_grants.terminates = true; ++ ram_grants.ops = &xen_grant_mr_ops; + ram_block_add_list(block); + memory_region_add_subregion(get_system_memory(), XEN_GRANT_ADDR_OFF, + &ram_grants); +diff --git a/softmmu/physmem.c b/softmmu/physmem.c +index 2038240311..6b2a02fc87 100644 +--- a/softmmu/physmem.c ++++ b/softmmu/physmem.c +@@ -2391,13 +2391,16 @@ RAMBlock *qemu_ram_block_from_host(void *ptr, bool round_offset, + + if (xen_enabled()) { + ram_addr_t ram_addr; ++ + RCU_READ_LOCK_GUARD(); + ram_addr = xen_ram_addr_from_mapcache(ptr); +- block = qemu_get_ram_block(ram_addr); +- if (block) { +- *offset = ram_addr - block->offset; ++ if (ram_addr != RAM_ADDR_INVALID) { ++ block = qemu_get_ram_block(ram_addr); ++ if (block) { ++ *offset = ram_addr - block->offset; ++ } ++ return block; + } +- return block; + } + + RCU_READ_LOCK_GUARD(); +-- +2.25.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0006-xen-hvm-move-common-functions-to-hw-xen-xen-hvm-comm.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0006-xen-hvm-move-common-functions-to-hw-xen-xen-hvm-comm.patch new file mode 100644 index 00000000..7df302a2 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0006-xen-hvm-move-common-functions-to-hw-xen-xen-hvm-comm.patch @@ -0,0 +1,2094 @@ +From 87d362e72e65b604da7554657204344a6540d88c Mon Sep 17 00:00:00 2001 +From: Vikram Garhwal +Date: Fri, 1 Jul 2022 15:59:47 -0700 +Subject: [PATCH 06/16] xen-hvm: move common functions to + hw/xen/xen-hvm-common.c + +Extract common functionalities from xen-hvm.c and move them to +hw/xen/xen-hvm-common.c. These common functions are useful for creating +an IOREQ server. + +Moved the common usable IOREQ creation part to a new function +xen_register_ioreq() which can be used by both x86 and ARM machines. + +NOTE: This patch will break the build as the patch only involves moving +of functions. Build fixes will be in the next patch. + +Signed-off-by: Vikram Garhwal +Signed-off-by: Stefano Stabellini +Reviewed-by: Stefano Stabellini +--- + hw/i386/xen/trace-events | 14 - + hw/i386/xen/xen-hvm.c | 927 +------------------------------- + hw/xen/meson.build | 5 +- + hw/xen/trace-events | 14 + + hw/xen/xen-hvm-common.c | 861 +++++++++++++++++++++++++++++ + include/hw/i386/xen_arch_hvm.h | 1 + + include/hw/xen/xen-hvm-common.h | 98 ++++ + 7 files changed, 986 insertions(+), 934 deletions(-) + create mode 100644 hw/xen/xen-hvm-common.c + create mode 100644 include/hw/xen/xen-hvm-common.h + +diff --git a/hw/i386/xen/trace-events b/hw/i386/xen/trace-events +index a0c89d91c4..5d0a8d6dcf 100644 +--- a/hw/i386/xen/trace-events ++++ b/hw/i386/xen/trace-events +@@ -7,17 +7,3 @@ xen_platform_log(char *s) "xen platform: %s" + xen_pv_mmio_read(uint64_t addr) "WARNING: read from Xen PV Device MMIO space (address 0x%"PRIx64")" + xen_pv_mmio_write(uint64_t addr) "WARNING: write to Xen PV Device MMIO space (address 0x%"PRIx64")" + +-# xen-hvm.c +-xen_ram_alloc(unsigned long ram_addr, unsigned long size) "requested: 0x%lx, size 0x%lx" +-xen_client_set_memory(uint64_t start_addr, unsigned long size, bool log_dirty) "0x%"PRIx64" size 0x%lx, log_dirty %i" +-handle_ioreq(void *req, uint32_t type, uint32_t dir, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p type=%d dir=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d" +-handle_ioreq_read(void *req, uint32_t type, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p read type=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d" +-handle_ioreq_write(void *req, uint32_t type, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p write type=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d" +-cpu_ioreq_pio(void *req, uint32_t dir, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p pio dir=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d" +-cpu_ioreq_pio_read_reg(void *req, uint64_t data, uint64_t addr, uint32_t size) "I/O=%p pio read reg data=0x%"PRIx64" port=0x%"PRIx64" size=%d" +-cpu_ioreq_pio_write_reg(void *req, uint64_t data, uint64_t addr, uint32_t size) "I/O=%p pio write reg data=0x%"PRIx64" port=0x%"PRIx64" size=%d" +-cpu_ioreq_move(void *req, uint32_t dir, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p copy dir=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d" +-xen_map_resource_ioreq(uint32_t id, void *addr) "id: %u addr: %p" +-cpu_ioreq_config_read(void *req, uint32_t sbdf, uint32_t reg, uint32_t size, uint32_t data) "I/O=%p sbdf=0x%x reg=%u size=%u data=0x%x" +-cpu_ioreq_config_write(void *req, uint32_t sbdf, uint32_t reg, uint32_t size, uint32_t data) "I/O=%p sbdf=0x%x reg=%u size=%u data=0x%x" +- +diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c +index 178f0c68fc..36d87555a9 100644 +--- a/hw/i386/xen/xen-hvm.c ++++ b/hw/i386/xen/xen-hvm.c +@@ -10,43 +10,21 @@ + + #include "qemu/osdep.h" + #include "qemu/units.h" ++#include "qapi/error.h" ++#include "qapi/qapi-commands-migration.h" ++#include "trace.h" + +-#include "cpu.h" +-#include "hw/pci/pci.h" +-#include "hw/pci/pci_host.h" + #include "hw/i386/pc.h" + #include "hw/irq.h" +-#include "hw/hw.h" + #include "hw/i386/apic-msidef.h" +-#include "hw/xen/xen_common.h" +-#include "hw/xen/xen-legacy-backend.h" +-#include "hw/xen/xen-bus.h" + #include "hw/xen/xen-x86.h" +-#include "qapi/error.h" +-#include "qapi/qapi-commands-migration.h" +-#include "qemu/error-report.h" +-#include "qemu/main-loop.h" + #include "qemu/range.h" +-#include "sysemu/runstate.h" +-#include "sysemu/sysemu.h" +-#include "sysemu/xen.h" +-#include "sysemu/xen-mapcache.h" +-#include "trace.h" + +-#include ++#include "hw/xen/xen-hvm-common.h" ++#include "hw/xen/arch_hvm.h" + #include + +-//#define DEBUG_XEN_HVM +- +-#ifdef DEBUG_XEN_HVM +-#define DPRINTF(fmt, ...) \ +- do { fprintf(stderr, "xen: " fmt, ## __VA_ARGS__); } while (0) +-#else +-#define DPRINTF(fmt, ...) \ +- do { } while (0) +-#endif +- +-static MemoryRegion ram_memory, ram_640k, ram_lo, ram_hi; ++static MemoryRegion ram_640k, ram_lo, ram_hi; + static MemoryRegion *framebuffer; + static bool xen_in_migration; + +@@ -75,25 +53,6 @@ typedef struct shared_vmport_iopage shared_vmport_iopage_t; + #endif + static shared_vmport_iopage_t *shared_vmport_page; + +-static inline uint32_t xen_vcpu_eport(shared_iopage_t *shared_page, int i) +-{ +- return shared_page->vcpu_ioreq[i].vp_eport; +-} +-static inline ioreq_t *xen_vcpu_ioreq(shared_iopage_t *shared_page, int vcpu) +-{ +- return &shared_page->vcpu_ioreq[vcpu]; +-} +- +-#define BUFFER_IO_MAX_DELAY 100 +- +-typedef struct XenPhysmap { +- hwaddr start_addr; +- ram_addr_t size; +- const char *name; +- hwaddr phys_offset; +- +- QLIST_ENTRY(XenPhysmap) list; +-} XenPhysmap; + + static QLIST_HEAD(, XenPhysmap) xen_physmap; + static const XenPhysmap *log_for_dirtybit = NULL; +@@ -102,40 +61,6 @@ static unsigned long *dirty_bitmap = NULL; + static Notifier suspend; + static Notifier wakeup; + +-typedef struct XenPciDevice { +- PCIDevice *pci_dev; +- uint32_t sbdf; +- QLIST_ENTRY(XenPciDevice) entry; +-} XenPciDevice; +- +-typedef struct XenIOState { +- ioservid_t ioservid; +- shared_iopage_t *shared_page; +- buffered_iopage_t *buffered_io_page; +- xenforeignmemory_resource_handle *fres; +- QEMUTimer *buffered_io_timer; +- CPUState **cpu_by_vcpu_id; +- /* the evtchn port for polling the notification, */ +- evtchn_port_t *ioreq_local_port; +- /* evtchn remote and local ports for buffered io */ +- evtchn_port_t bufioreq_remote_port; +- evtchn_port_t bufioreq_local_port; +- /* the evtchn fd for polling */ +- xenevtchn_handle *xce_handle; +- /* which vcpu we are serving */ +- int send_vcpu; +- +- struct xs_handle *xenstore; +- MemoryListener memory_listener; +- MemoryListener io_listener; +- QLIST_HEAD(, XenPciDevice) dev_list; +- DeviceListener device_listener; +- +- Notifier exit; +-} XenIOState; +- +-#include "hw/xen/arch_hvm.h" +- + /* Xen specific function for piix pci */ + + int xen_pci_slot_get_pirq(PCIDevice *pci_dev, int irq_num) +@@ -248,42 +173,6 @@ static void xen_ram_init(PCMachineState *pcms, + } + } + +-void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr, +- Error **errp) +-{ +- unsigned long nr_pfn; +- xen_pfn_t *pfn_list; +- int i; +- +- if (runstate_check(RUN_STATE_INMIGRATE)) { +- /* RAM already populated in Xen */ +- fprintf(stderr, "%s: do not alloc "RAM_ADDR_FMT +- " bytes of ram at "RAM_ADDR_FMT" when runstate is INMIGRATE\n", +- __func__, size, ram_addr); +- return; +- } +- +- if (mr == &ram_memory) { +- return; +- } +- +- trace_xen_ram_alloc(ram_addr, size); +- +- nr_pfn = size >> TARGET_PAGE_BITS; +- pfn_list = g_malloc(sizeof (*pfn_list) * nr_pfn); +- +- for (i = 0; i < nr_pfn; i++) { +- pfn_list[i] = (ram_addr >> TARGET_PAGE_BITS) + i; +- } +- +- if (xc_domain_populate_physmap_exact(xen_xc, xen_domid, nr_pfn, 0, 0, pfn_list)) { +- error_setg(errp, "xen: failed to populate ram at " RAM_ADDR_FMT, +- ram_addr); +- } +- +- g_free(pfn_list); +-} +- + static XenPhysmap *get_physmapping(hwaddr start_addr, ram_addr_t size) + { + XenPhysmap *physmap = NULL; +@@ -473,109 +362,6 @@ static int xen_remove_from_physmap(XenIOState *state, + return 0; + } + +-static void xen_set_memory(struct MemoryListener *listener, +- MemoryRegionSection *section, +- bool add) +-{ +- XenIOState *state = container_of(listener, XenIOState, memory_listener); +- +- if (section->mr == &ram_memory) { +- return; +- } else { +- if (add) { +- xen_map_memory_section(xen_domid, state->ioservid, +- section); +- } else { +- xen_unmap_memory_section(xen_domid, state->ioservid, +- section); +- } +- } +- arch_xen_set_memory(state, section, add); +-} +- +-static void xen_region_add(MemoryListener *listener, +- MemoryRegionSection *section) +-{ +- memory_region_ref(section->mr); +- xen_set_memory(listener, section, true); +-} +- +-static void xen_region_del(MemoryListener *listener, +- MemoryRegionSection *section) +-{ +- xen_set_memory(listener, section, false); +- memory_region_unref(section->mr); +-} +- +-static void xen_io_add(MemoryListener *listener, +- MemoryRegionSection *section) +-{ +- XenIOState *state = container_of(listener, XenIOState, io_listener); +- MemoryRegion *mr = section->mr; +- +- if (mr->ops == &unassigned_io_ops) { +- return; +- } +- +- memory_region_ref(mr); +- +- xen_map_io_section(xen_domid, state->ioservid, section); +-} +- +-static void xen_io_del(MemoryListener *listener, +- MemoryRegionSection *section) +-{ +- XenIOState *state = container_of(listener, XenIOState, io_listener); +- MemoryRegion *mr = section->mr; +- +- if (mr->ops == &unassigned_io_ops) { +- return; +- } +- +- xen_unmap_io_section(xen_domid, state->ioservid, section); +- +- memory_region_unref(mr); +-} +- +-static void xen_device_realize(DeviceListener *listener, +- DeviceState *dev) +-{ +- XenIOState *state = container_of(listener, XenIOState, device_listener); +- +- if (object_dynamic_cast(OBJECT(dev), TYPE_PCI_DEVICE)) { +- PCIDevice *pci_dev = PCI_DEVICE(dev); +- XenPciDevice *xendev = g_new(XenPciDevice, 1); +- +- xendev->pci_dev = pci_dev; +- xendev->sbdf = PCI_BUILD_BDF(pci_dev_bus_num(pci_dev), +- pci_dev->devfn); +- QLIST_INSERT_HEAD(&state->dev_list, xendev, entry); +- +- xen_map_pcidev(xen_domid, state->ioservid, pci_dev); +- } +-} +- +-static void xen_device_unrealize(DeviceListener *listener, +- DeviceState *dev) +-{ +- XenIOState *state = container_of(listener, XenIOState, device_listener); +- +- if (object_dynamic_cast(OBJECT(dev), TYPE_PCI_DEVICE)) { +- PCIDevice *pci_dev = PCI_DEVICE(dev); +- XenPciDevice *xendev, *next; +- +- xen_unmap_pcidev(xen_domid, state->ioservid, pci_dev); +- +- QLIST_FOREACH_SAFE(xendev, &state->dev_list, entry, next) { +- if (xendev->pci_dev == pci_dev) { +- QLIST_REMOVE(xendev, entry); +- g_free(xendev); +- break; +- } +- } +- } +-} +- + static void xen_sync_dirty_bitmap(XenIOState *state, + hwaddr start_addr, + ram_addr_t size) +@@ -683,277 +469,6 @@ static MemoryListener xen_memory_listener = { + .priority = 10, + }; + +-static MemoryListener xen_io_listener = { +- .name = "xen-io", +- .region_add = xen_io_add, +- .region_del = xen_io_del, +- .priority = 10, +-}; +- +-static DeviceListener xen_device_listener = { +- .realize = xen_device_realize, +- .unrealize = xen_device_unrealize, +-}; +- +-/* get the ioreq packets from share mem */ +-static ioreq_t *cpu_get_ioreq_from_shared_memory(XenIOState *state, int vcpu) +-{ +- ioreq_t *req = xen_vcpu_ioreq(state->shared_page, vcpu); +- +- if (req->state != STATE_IOREQ_READY) { +- DPRINTF("I/O request not ready: " +- "%x, ptr: %x, port: %"PRIx64", " +- "data: %"PRIx64", count: %u, size: %u\n", +- req->state, req->data_is_ptr, req->addr, +- req->data, req->count, req->size); +- return NULL; +- } +- +- xen_rmb(); /* see IOREQ_READY /then/ read contents of ioreq */ +- +- req->state = STATE_IOREQ_INPROCESS; +- return req; +-} +- +-/* use poll to get the port notification */ +-/* ioreq_vec--out,the */ +-/* retval--the number of ioreq packet */ +-static ioreq_t *cpu_get_ioreq(XenIOState *state) +-{ +- MachineState *ms = MACHINE(qdev_get_machine()); +- unsigned int max_cpus = ms->smp.max_cpus; +- int i; +- evtchn_port_t port; +- +- port = xenevtchn_pending(state->xce_handle); +- if (port == state->bufioreq_local_port) { +- timer_mod(state->buffered_io_timer, +- BUFFER_IO_MAX_DELAY + qemu_clock_get_ms(QEMU_CLOCK_REALTIME)); +- return NULL; +- } +- +- if (port != -1) { +- for (i = 0; i < max_cpus; i++) { +- if (state->ioreq_local_port[i] == port) { +- break; +- } +- } +- +- if (i == max_cpus) { +- hw_error("Fatal error while trying to get io event!\n"); +- } +- +- /* unmask the wanted port again */ +- xenevtchn_unmask(state->xce_handle, port); +- +- /* get the io packet from shared memory */ +- state->send_vcpu = i; +- return cpu_get_ioreq_from_shared_memory(state, i); +- } +- +- /* read error or read nothing */ +- return NULL; +-} +- +-static uint32_t do_inp(uint32_t addr, unsigned long size) +-{ +- switch (size) { +- case 1: +- return cpu_inb(addr); +- case 2: +- return cpu_inw(addr); +- case 4: +- return cpu_inl(addr); +- default: +- hw_error("inp: bad size: %04x %lx", addr, size); +- } +-} +- +-static void do_outp(uint32_t addr, +- unsigned long size, uint32_t val) +-{ +- switch (size) { +- case 1: +- return cpu_outb(addr, val); +- case 2: +- return cpu_outw(addr, val); +- case 4: +- return cpu_outl(addr, val); +- default: +- hw_error("outp: bad size: %04x %lx", addr, size); +- } +-} +- +-/* +- * Helper functions which read/write an object from/to physical guest +- * memory, as part of the implementation of an ioreq. +- * +- * Equivalent to +- * cpu_physical_memory_rw(addr + (req->df ? -1 : +1) * req->size * i, +- * val, req->size, 0/1) +- * except without the integer overflow problems. +- */ +-static void rw_phys_req_item(hwaddr addr, +- ioreq_t *req, uint32_t i, void *val, int rw) +-{ +- /* Do everything unsigned so overflow just results in a truncated result +- * and accesses to undesired parts of guest memory, which is up +- * to the guest */ +- hwaddr offset = (hwaddr)req->size * i; +- if (req->df) { +- addr -= offset; +- } else { +- addr += offset; +- } +- cpu_physical_memory_rw(addr, val, req->size, rw); +-} +- +-static inline void read_phys_req_item(hwaddr addr, +- ioreq_t *req, uint32_t i, void *val) +-{ +- rw_phys_req_item(addr, req, i, val, 0); +-} +-static inline void write_phys_req_item(hwaddr addr, +- ioreq_t *req, uint32_t i, void *val) +-{ +- rw_phys_req_item(addr, req, i, val, 1); +-} +- +- +-static void cpu_ioreq_pio(ioreq_t *req) +-{ +- uint32_t i; +- +- trace_cpu_ioreq_pio(req, req->dir, req->df, req->data_is_ptr, req->addr, +- req->data, req->count, req->size); +- +- if (req->size > sizeof(uint32_t)) { +- hw_error("PIO: bad size (%u)", req->size); +- } +- +- if (req->dir == IOREQ_READ) { +- if (!req->data_is_ptr) { +- req->data = do_inp(req->addr, req->size); +- trace_cpu_ioreq_pio_read_reg(req, req->data, req->addr, +- req->size); +- } else { +- uint32_t tmp; +- +- for (i = 0; i < req->count; i++) { +- tmp = do_inp(req->addr, req->size); +- write_phys_req_item(req->data, req, i, &tmp); +- } +- } +- } else if (req->dir == IOREQ_WRITE) { +- if (!req->data_is_ptr) { +- trace_cpu_ioreq_pio_write_reg(req, req->data, req->addr, +- req->size); +- do_outp(req->addr, req->size, req->data); +- } else { +- for (i = 0; i < req->count; i++) { +- uint32_t tmp = 0; +- +- read_phys_req_item(req->data, req, i, &tmp); +- do_outp(req->addr, req->size, tmp); +- } +- } +- } +-} +- +-static void cpu_ioreq_move(ioreq_t *req) +-{ +- uint32_t i; +- +- trace_cpu_ioreq_move(req, req->dir, req->df, req->data_is_ptr, req->addr, +- req->data, req->count, req->size); +- +- if (req->size > sizeof(req->data)) { +- hw_error("MMIO: bad size (%u)", req->size); +- } +- +- if (!req->data_is_ptr) { +- if (req->dir == IOREQ_READ) { +- for (i = 0; i < req->count; i++) { +- read_phys_req_item(req->addr, req, i, &req->data); +- } +- } else if (req->dir == IOREQ_WRITE) { +- for (i = 0; i < req->count; i++) { +- write_phys_req_item(req->addr, req, i, &req->data); +- } +- } +- } else { +- uint64_t tmp; +- +- if (req->dir == IOREQ_READ) { +- for (i = 0; i < req->count; i++) { +- read_phys_req_item(req->addr, req, i, &tmp); +- write_phys_req_item(req->data, req, i, &tmp); +- } +- } else if (req->dir == IOREQ_WRITE) { +- for (i = 0; i < req->count; i++) { +- read_phys_req_item(req->data, req, i, &tmp); +- write_phys_req_item(req->addr, req, i, &tmp); +- } +- } +- } +-} +- +-static void cpu_ioreq_config(XenIOState *state, ioreq_t *req) +-{ +- uint32_t sbdf = req->addr >> 32; +- uint32_t reg = req->addr; +- XenPciDevice *xendev; +- +- if (req->size != sizeof(uint8_t) && req->size != sizeof(uint16_t) && +- req->size != sizeof(uint32_t)) { +- hw_error("PCI config access: bad size (%u)", req->size); +- } +- +- if (req->count != 1) { +- hw_error("PCI config access: bad count (%u)", req->count); +- } +- +- QLIST_FOREACH(xendev, &state->dev_list, entry) { +- if (xendev->sbdf != sbdf) { +- continue; +- } +- +- if (!req->data_is_ptr) { +- if (req->dir == IOREQ_READ) { +- req->data = pci_host_config_read_common( +- xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE, +- req->size); +- trace_cpu_ioreq_config_read(req, xendev->sbdf, reg, +- req->size, req->data); +- } else if (req->dir == IOREQ_WRITE) { +- trace_cpu_ioreq_config_write(req, xendev->sbdf, reg, +- req->size, req->data); +- pci_host_config_write_common( +- xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE, +- req->data, req->size); +- } +- } else { +- uint32_t tmp; +- +- if (req->dir == IOREQ_READ) { +- tmp = pci_host_config_read_common( +- xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE, +- req->size); +- trace_cpu_ioreq_config_read(req, xendev->sbdf, reg, +- req->size, tmp); +- write_phys_req_item(req->data, req, 0, &tmp); +- } else if (req->dir == IOREQ_WRITE) { +- read_phys_req_item(req->data, req, 0, &tmp); +- trace_cpu_ioreq_config_write(req, xendev->sbdf, reg, +- req->size, tmp); +- pci_host_config_write_common( +- xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE, +- tmp, req->size); +- } +- } +- } +-} +- + static void regs_to_cpu(vmware_regs_t *vmport_regs, ioreq_t *req) + { + X86CPU *cpu; +@@ -997,223 +512,6 @@ static void handle_vmport_ioreq(XenIOState *state, ioreq_t *req) + current_cpu = NULL; + } + +-static void handle_ioreq(XenIOState *state, ioreq_t *req) +-{ +- trace_handle_ioreq(req, req->type, req->dir, req->df, req->data_is_ptr, +- req->addr, req->data, req->count, req->size); +- +- if (!req->data_is_ptr && (req->dir == IOREQ_WRITE) && +- (req->size < sizeof (target_ulong))) { +- req->data &= ((target_ulong) 1 << (8 * req->size)) - 1; +- } +- +- if (req->dir == IOREQ_WRITE) +- trace_handle_ioreq_write(req, req->type, req->df, req->data_is_ptr, +- req->addr, req->data, req->count, req->size); +- +- switch (req->type) { +- case IOREQ_TYPE_PIO: +- cpu_ioreq_pio(req); +- break; +- case IOREQ_TYPE_COPY: +- cpu_ioreq_move(req); +- break; +- case IOREQ_TYPE_TIMEOFFSET: +- break; +- case IOREQ_TYPE_INVALIDATE: +- xen_invalidate_map_cache(); +- break; +- case IOREQ_TYPE_PCI_CONFIG: +- cpu_ioreq_config(state, req); +- break; +- default: +- arch_handle_ioreq(state, req); +- } +- if (req->dir == IOREQ_READ) { +- trace_handle_ioreq_read(req, req->type, req->df, req->data_is_ptr, +- req->addr, req->data, req->count, req->size); +- } +-} +- +-static bool handle_buffered_iopage(XenIOState *state) +-{ +- buffered_iopage_t *buf_page = state->buffered_io_page; +- buf_ioreq_t *buf_req = NULL; +- bool handled_ioreq = false; +- ioreq_t req; +- int qw; +- +- if (!buf_page) { +- return 0; +- } +- +- memset(&req, 0x00, sizeof(req)); +- req.state = STATE_IOREQ_READY; +- req.count = 1; +- req.dir = IOREQ_WRITE; +- +- for (;;) { +- uint32_t rdptr = buf_page->read_pointer, wrptr; +- +- xen_rmb(); +- wrptr = buf_page->write_pointer; +- xen_rmb(); +- if (rdptr != buf_page->read_pointer) { +- continue; +- } +- if (rdptr == wrptr) { +- break; +- } +- buf_req = &buf_page->buf_ioreq[rdptr % IOREQ_BUFFER_SLOT_NUM]; +- req.size = 1U << buf_req->size; +- req.addr = buf_req->addr; +- req.data = buf_req->data; +- req.type = buf_req->type; +- xen_rmb(); +- qw = (req.size == 8); +- if (qw) { +- if (rdptr + 1 == wrptr) { +- hw_error("Incomplete quad word buffered ioreq"); +- } +- buf_req = &buf_page->buf_ioreq[(rdptr + 1) % +- IOREQ_BUFFER_SLOT_NUM]; +- req.data |= ((uint64_t)buf_req->data) << 32; +- xen_rmb(); +- } +- +- handle_ioreq(state, &req); +- +- /* Only req.data may get updated by handle_ioreq(), albeit even that +- * should not happen as such data would never make it to the guest (we +- * can only usefully see writes here after all). +- */ +- assert(req.state == STATE_IOREQ_READY); +- assert(req.count == 1); +- assert(req.dir == IOREQ_WRITE); +- assert(!req.data_is_ptr); +- +- qatomic_add(&buf_page->read_pointer, qw + 1); +- handled_ioreq = true; +- } +- +- return handled_ioreq; +-} +- +-static void handle_buffered_io(void *opaque) +-{ +- XenIOState *state = opaque; +- +- if (handle_buffered_iopage(state)) { +- timer_mod(state->buffered_io_timer, +- BUFFER_IO_MAX_DELAY + qemu_clock_get_ms(QEMU_CLOCK_REALTIME)); +- } else { +- timer_del(state->buffered_io_timer); +- xenevtchn_unmask(state->xce_handle, state->bufioreq_local_port); +- } +-} +- +-static void cpu_handle_ioreq(void *opaque) +-{ +- XenIOState *state = opaque; +- ioreq_t *req = cpu_get_ioreq(state); +- +- handle_buffered_iopage(state); +- if (req) { +- ioreq_t copy = *req; +- +- xen_rmb(); +- handle_ioreq(state, ©); +- req->data = copy.data; +- +- if (req->state != STATE_IOREQ_INPROCESS) { +- fprintf(stderr, "Badness in I/O request ... not in service?!: " +- "%x, ptr: %x, port: %"PRIx64", " +- "data: %"PRIx64", count: %u, size: %u, type: %u\n", +- req->state, req->data_is_ptr, req->addr, +- req->data, req->count, req->size, req->type); +- destroy_hvm_domain(false); +- return; +- } +- +- xen_wmb(); /* Update ioreq contents /then/ update state. */ +- +- /* +- * We do this before we send the response so that the tools +- * have the opportunity to pick up on the reset before the +- * guest resumes and does a hlt with interrupts disabled which +- * causes Xen to powerdown the domain. +- */ +- if (runstate_is_running()) { +- ShutdownCause request; +- +- if (qemu_shutdown_requested_get()) { +- destroy_hvm_domain(false); +- } +- request = qemu_reset_requested_get(); +- if (request) { +- qemu_system_reset(request); +- destroy_hvm_domain(true); +- } +- } +- +- req->state = STATE_IORESP_READY; +- xenevtchn_notify(state->xce_handle, +- state->ioreq_local_port[state->send_vcpu]); +- } +-} +- +-static void xen_main_loop_prepare(XenIOState *state) +-{ +- int evtchn_fd = -1; +- +- if (state->xce_handle != NULL) { +- evtchn_fd = xenevtchn_fd(state->xce_handle); +- } +- +- state->buffered_io_timer = timer_new_ms(QEMU_CLOCK_REALTIME, handle_buffered_io, +- state); +- +- if (evtchn_fd != -1) { +- CPUState *cpu_state; +- +- DPRINTF("%s: Init cpu_by_vcpu_id\n", __func__); +- CPU_FOREACH(cpu_state) { +- DPRINTF("%s: cpu_by_vcpu_id[%d]=%p\n", +- __func__, cpu_state->cpu_index, cpu_state); +- state->cpu_by_vcpu_id[cpu_state->cpu_index] = cpu_state; +- } +- qemu_set_fd_handler(evtchn_fd, cpu_handle_ioreq, NULL, state); +- } +-} +- +- +-static void xen_hvm_change_state_handler(void *opaque, bool running, +- RunState rstate) +-{ +- XenIOState *state = opaque; +- +- if (running) { +- xen_main_loop_prepare(state); +- } +- +- xen_set_ioreq_server_state(xen_domid, +- state->ioservid, +- (rstate == RUN_STATE_RUNNING)); +-} +- +-static void xen_exit_notifier(Notifier *n, void *data) +-{ +- XenIOState *state = container_of(n, XenIOState, exit); +- +- xen_destroy_ioreq_server(xen_domid, state->ioservid); +- if (state->fres != NULL) { +- xenforeignmemory_unmap_resource(xen_fmem, state->fres); +- } +- +- xenevtchn_close(state->xce_handle); +- xs_daemon_close(state->xenstore); +-} +- + #ifdef XEN_COMPAT_PHYSMAP + static void xen_read_physmap(XenIOState *state) + { +@@ -1273,178 +571,17 @@ static void xen_wakeup_notifier(Notifier *notifier, void *data) + xc_set_hvm_param(xen_xc, xen_domid, HVM_PARAM_ACPI_S_STATE, 0); + } + +-static int xen_map_ioreq_server(XenIOState *state) +-{ +- void *addr = NULL; +- xen_pfn_t ioreq_pfn; +- xen_pfn_t bufioreq_pfn; +- evtchn_port_t bufioreq_evtchn; +- int rc; +- +- /* +- * Attempt to map using the resource API and fall back to normal +- * foreign mapping if this is not supported. +- */ +- QEMU_BUILD_BUG_ON(XENMEM_resource_ioreq_server_frame_bufioreq != 0); +- QEMU_BUILD_BUG_ON(XENMEM_resource_ioreq_server_frame_ioreq(0) != 1); +- state->fres = xenforeignmemory_map_resource(xen_fmem, xen_domid, +- XENMEM_resource_ioreq_server, +- state->ioservid, 0, 2, +- &addr, +- PROT_READ | PROT_WRITE, 0); +- if (state->fres != NULL) { +- trace_xen_map_resource_ioreq(state->ioservid, addr); +- state->buffered_io_page = addr; +- state->shared_page = addr + TARGET_PAGE_SIZE; +- } else if (errno != EOPNOTSUPP) { +- error_report("failed to map ioreq server resources: error %d handle=%p", +- errno, xen_xc); +- return -1; +- } +- +- rc = xen_get_ioreq_server_info(xen_domid, state->ioservid, +- (state->shared_page == NULL) ? +- &ioreq_pfn : NULL, +- (state->buffered_io_page == NULL) ? +- &bufioreq_pfn : NULL, +- &bufioreq_evtchn); +- if (rc < 0) { +- error_report("failed to get ioreq server info: error %d handle=%p", +- errno, xen_xc); +- return rc; +- } +- +- if (state->shared_page == NULL) { +- DPRINTF("shared page at pfn %lx\n", ioreq_pfn); +- +- state->shared_page = xenforeignmemory_map(xen_fmem, xen_domid, +- PROT_READ | PROT_WRITE, +- 1, &ioreq_pfn, NULL); +- if (state->shared_page == NULL) { +- error_report("map shared IO page returned error %d handle=%p", +- errno, xen_xc); +- } +- } +- +- if (state->buffered_io_page == NULL) { +- DPRINTF("buffered io page at pfn %lx\n", bufioreq_pfn); +- +- state->buffered_io_page = xenforeignmemory_map(xen_fmem, xen_domid, +- PROT_READ | PROT_WRITE, +- 1, &bufioreq_pfn, +- NULL); +- if (state->buffered_io_page == NULL) { +- error_report("map buffered IO page returned error %d", errno); +- return -1; +- } +- } +- +- if (state->shared_page == NULL || state->buffered_io_page == NULL) { +- return -1; +- } +- +- DPRINTF("buffered io evtchn is %x\n", bufioreq_evtchn); +- +- state->bufioreq_remote_port = bufioreq_evtchn; +- +- return 0; +-} +- + void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory) + { + MachineState *ms = MACHINE(pcms); + unsigned int max_cpus = ms->smp.max_cpus; +- int i, rc; ++ int rc; + xen_pfn_t ioreq_pfn; + XenIOState *state; + + state = g_new0(XenIOState, 1); + +- state->xce_handle = xenevtchn_open(NULL, 0); +- if (state->xce_handle == NULL) { +- perror("xen: event channel open"); +- goto err; +- } +- +- state->xenstore = xs_daemon_open(); +- if (state->xenstore == NULL) { +- perror("xen: xenstore open"); +- goto err; +- } +- +- xen_create_ioreq_server(xen_domid, &state->ioservid); +- +- state->exit.notify = xen_exit_notifier; +- qemu_add_exit_notifier(&state->exit); +- +- /* +- * Register wake-up support in QMP query-current-machine API +- */ +- qemu_register_wakeup_support(); +- +- rc = xen_map_ioreq_server(state); +- if (rc < 0) { +- goto err; +- } +- +- /* Note: cpus is empty at this point in init */ +- state->cpu_by_vcpu_id = g_new0(CPUState *, max_cpus); +- +- rc = xen_set_ioreq_server_state(xen_domid, state->ioservid, true); +- if (rc < 0) { +- error_report("failed to enable ioreq server info: error %d handle=%p", +- errno, xen_xc); +- goto err; +- } +- +- state->ioreq_local_port = g_new0(evtchn_port_t, max_cpus); +- +- /* FIXME: how about if we overflow the page here? */ +- for (i = 0; i < max_cpus; i++) { +- rc = xenevtchn_bind_interdomain(state->xce_handle, xen_domid, +- xen_vcpu_eport(state->shared_page, i)); +- if (rc == -1) { +- error_report("shared evtchn %d bind error %d", i, errno); +- goto err; +- } +- state->ioreq_local_port[i] = rc; +- } +- +- rc = xenevtchn_bind_interdomain(state->xce_handle, xen_domid, +- state->bufioreq_remote_port); +- if (rc == -1) { +- error_report("buffered evtchn bind error %d", errno); +- goto err; +- } +- state->bufioreq_local_port = rc; +- +- /* Init RAM management */ +-#ifdef XEN_COMPAT_PHYSMAP +- xen_map_cache_init(xen_phys_offset_to_gaddr, state); +-#else +- xen_map_cache_init(NULL, state); +-#endif +- +- qemu_add_vm_change_state_handler(xen_hvm_change_state_handler, state); +- +- state->memory_listener = xen_memory_listener; +- memory_listener_register(&state->memory_listener, &address_space_memory); +- +- state->io_listener = xen_io_listener; +- memory_listener_register(&state->io_listener, &address_space_io); +- +- state->device_listener = xen_device_listener; +- QLIST_INIT(&state->dev_list); +- device_listener_register(&state->device_listener); +- +- xen_bus_init(); +- +- /* Initialize backend core & drivers */ +- if (xen_be_init() != 0) { +- error_report("xen backend core setup failed"); +- goto err; +- } +- xen_be_register_common(); ++ xen_register_ioreq(state, max_cpus, xen_memory_listener); + + QLIST_INIT(&xen_physmap); + xen_read_physmap(state); +@@ -1484,59 +621,11 @@ err: + exit(1); + } + +-void destroy_hvm_domain(bool reboot) +-{ +- xc_interface *xc_handle; +- int sts; +- int rc; +- +- unsigned int reason = reboot ? SHUTDOWN_reboot : SHUTDOWN_poweroff; +- +- if (xen_dmod) { +- rc = xendevicemodel_shutdown(xen_dmod, xen_domid, reason); +- if (!rc) { +- return; +- } +- if (errno != ENOTTY /* old Xen */) { +- perror("xendevicemodel_shutdown failed"); +- } +- /* well, try the old thing then */ +- } +- +- xc_handle = xc_interface_open(0, 0, 0); +- if (xc_handle == NULL) { +- fprintf(stderr, "Cannot acquire xenctrl handle\n"); +- } else { +- sts = xc_domain_shutdown(xc_handle, xen_domid, reason); +- if (sts != 0) { +- fprintf(stderr, "xc_domain_shutdown failed to issue %s, " +- "sts %d, %s\n", reboot ? "reboot" : "poweroff", +- sts, strerror(errno)); +- } else { +- fprintf(stderr, "Issued domain %d %s\n", xen_domid, +- reboot ? "reboot" : "poweroff"); +- } +- xc_interface_close(xc_handle); +- } +-} +- + void xen_register_framebuffer(MemoryRegion *mr) + { + framebuffer = mr; + } + +-void xen_shutdown_fatal_error(const char *fmt, ...) +-{ +- va_list ap; +- +- va_start(ap, fmt); +- vfprintf(stderr, fmt, ap); +- va_end(ap); +- fprintf(stderr, "Will destroy the domain.\n"); +- /* destroy the domain */ +- qemu_system_shutdown_request(SHUTDOWN_CAUSE_HOST_ERROR); +-} +- + void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length) + { + if (unlikely(xen_in_migration)) { +diff --git a/hw/xen/meson.build b/hw/xen/meson.build +index 19d0637c46..008e036d63 100644 +--- a/hw/xen/meson.build ++++ b/hw/xen/meson.build +@@ -25,4 +25,7 @@ specific_ss.add_all(when: ['CONFIG_XEN', xen], if_true: xen_specific_ss) + + xen_ss = ss.source_set() + +-xen_ss.add(when: 'CONFIG_XEN', if_true: files('xen-mapcache.c')) ++xen_ss.add(when: 'CONFIG_XEN', if_true: files( ++ 'xen-mapcache.c', ++ 'xen-hvm-common.c', ++)) +diff --git a/hw/xen/trace-events b/hw/xen/trace-events +index 2c8f238f42..02ca1183da 100644 +--- a/hw/xen/trace-events ++++ b/hw/xen/trace-events +@@ -42,6 +42,20 @@ xs_node_vscanf(char *path, char *value) "%s %s" + xs_node_watch(char *path) "%s" + xs_node_unwatch(char *path) "%s" + ++# xen-hvm.c ++xen_ram_alloc(unsigned long ram_addr, unsigned long size) "requested: 0x%lx, size 0x%lx" ++xen_client_set_memory(uint64_t start_addr, unsigned long size, bool log_dirty) "0x%"PRIx64" size 0x%lx, log_dirty %i" ++handle_ioreq(void *req, uint32_t type, uint32_t dir, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p type=%d dir=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d" ++handle_ioreq_read(void *req, uint32_t type, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p read type=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d" ++handle_ioreq_write(void *req, uint32_t type, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p write type=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d" ++cpu_ioreq_pio(void *req, uint32_t dir, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p pio dir=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d" ++cpu_ioreq_pio_read_reg(void *req, uint64_t data, uint64_t addr, uint32_t size) "I/O=%p pio read reg data=0x%"PRIx64" port=0x%"PRIx64" size=%d" ++cpu_ioreq_pio_write_reg(void *req, uint64_t data, uint64_t addr, uint32_t size) "I/O=%p pio write reg data=0x%"PRIx64" port=0x%"PRIx64" size=%d" ++cpu_ioreq_move(void *req, uint32_t dir, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p copy dir=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d" ++xen_map_resource_ioreq(uint32_t id, void *addr) "id: %u addr: %p" ++cpu_ioreq_config_read(void *req, uint32_t sbdf, uint32_t reg, uint32_t size, uint32_t data) "I/O=%p sbdf=0x%x reg=%u size=%u data=0x%x" ++cpu_ioreq_config_write(void *req, uint32_t sbdf, uint32_t reg, uint32_t size, uint32_t data) "I/O=%p sbdf=0x%x reg=%u size=%u data=0x%x" ++ + # xen-mapcache.c + xen_map_cache(uint64_t phys_addr) "want 0x%"PRIx64 + xen_remap_bucket(uint64_t index) "index 0x%"PRIx64 +diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c +new file mode 100644 +index 0000000000..67f76f6010 +--- /dev/null ++++ b/hw/xen/xen-hvm-common.c +@@ -0,0 +1,861 @@ ++#include "qemu/osdep.h" ++#include "qemu/units.h" ++#include "qapi/error.h" ++#include "trace.h" ++ ++#include "hw/pci/pci_host.h" ++#include "hw/xen/xen-hvm-common.h" ++#include "hw/xen/xen-legacy-backend.h" ++#include "hw/xen/xen-bus.h" ++#include "hw/boards.h" ++#include "hw/xen/arch_hvm.h" ++ ++MemoryRegion ram_memory; ++ ++MemoryListener xen_io_listener = { ++ .name = "xen-io", ++ .region_add = xen_io_add, ++ .region_del = xen_io_del, ++ .priority = 10, ++}; ++ ++DeviceListener xen_device_listener = { ++ .realize = xen_device_realize, ++ .unrealize = xen_device_unrealize, ++}; ++ ++static void xen_set_memory(struct MemoryListener *listener, ++ MemoryRegionSection *section, ++ bool add) ++{ ++ XenIOState *state = container_of(listener, XenIOState, memory_listener); ++ ++ if (section->mr == &ram_memory) { ++ return; ++ } else { ++ if (add) { ++ xen_map_memory_section(xen_domid, state->ioservid, ++ section); ++ } else { ++ xen_unmap_memory_section(xen_domid, state->ioservid, ++ section); ++ } ++ } ++ arch_xen_set_memory(state, section, add); ++} ++ ++void xen_region_add(MemoryListener *listener, ++ MemoryRegionSection *section) ++{ ++ memory_region_ref(section->mr); ++ xen_set_memory(listener, section, true); ++} ++ ++void xen_region_del(MemoryListener *listener, ++ MemoryRegionSection *section) ++{ ++ xen_set_memory(listener, section, false); ++ memory_region_unref(section->mr); ++} ++ ++void xen_io_add(MemoryListener *listener, ++ MemoryRegionSection *section) ++{ ++ XenIOState *state = container_of(listener, XenIOState, io_listener); ++ MemoryRegion *mr = section->mr; ++ ++ if (mr->ops == &unassigned_io_ops) { ++ return; ++ } ++ ++ memory_region_ref(mr); ++ ++ xen_map_io_section(xen_domid, state->ioservid, section); ++} ++ ++void xen_io_del(MemoryListener *listener, ++ MemoryRegionSection *section) ++{ ++ XenIOState *state = container_of(listener, XenIOState, io_listener); ++ MemoryRegion *mr = section->mr; ++ ++ if (mr->ops == &unassigned_io_ops) { ++ return; ++ } ++ ++ xen_unmap_io_section(xen_domid, state->ioservid, section); ++ ++ memory_region_unref(mr); ++} ++ ++void xen_device_realize(DeviceListener *listener, ++ DeviceState *dev) ++{ ++ XenIOState *state = container_of(listener, XenIOState, device_listener); ++ ++ if (object_dynamic_cast(OBJECT(dev), TYPE_PCI_DEVICE)) { ++ PCIDevice *pci_dev = PCI_DEVICE(dev); ++ XenPciDevice *xendev = g_new(XenPciDevice, 1); ++ ++ xendev->pci_dev = pci_dev; ++ xendev->sbdf = PCI_BUILD_BDF(pci_dev_bus_num(pci_dev), ++ pci_dev->devfn); ++ QLIST_INSERT_HEAD(&state->dev_list, xendev, entry); ++ ++ xen_map_pcidev(xen_domid, state->ioservid, pci_dev); ++ } ++} ++ ++void xen_device_unrealize(DeviceListener *listener, ++ DeviceState *dev) ++{ ++ XenIOState *state = container_of(listener, XenIOState, device_listener); ++ ++ if (object_dynamic_cast(OBJECT(dev), TYPE_PCI_DEVICE)) { ++ PCIDevice *pci_dev = PCI_DEVICE(dev); ++ XenPciDevice *xendev, *next; ++ ++ xen_unmap_pcidev(xen_domid, state->ioservid, pci_dev); ++ ++ QLIST_FOREACH_SAFE(xendev, &state->dev_list, entry, next) { ++ if (xendev->pci_dev == pci_dev) { ++ QLIST_REMOVE(xendev, entry); ++ g_free(xendev); ++ break; ++ } ++ } ++ } ++} ++ ++/* get the ioreq packets from share mem */ ++static ioreq_t *cpu_get_ioreq_from_shared_memory(XenIOState *state, int vcpu) ++{ ++ ioreq_t *req = xen_vcpu_ioreq(state->shared_page, vcpu); ++ ++ if (req->state != STATE_IOREQ_READY) { ++ DPRINTF("I/O request not ready: " ++ "%x, ptr: %x, port: %"PRIx64", " ++ "data: %"PRIx64", count: %u, size: %u\n", ++ req->state, req->data_is_ptr, req->addr, ++ req->data, req->count, req->size); ++ return NULL; ++ } ++ ++ xen_rmb(); /* see IOREQ_READY /then/ read contents of ioreq */ ++ ++ req->state = STATE_IOREQ_INPROCESS; ++ return req; ++} ++ ++/* use poll to get the port notification */ ++/* ioreq_vec--out,the */ ++/* retval--the number of ioreq packet */ ++static ioreq_t *cpu_get_ioreq(XenIOState *state) ++{ ++ MachineState *ms = MACHINE(qdev_get_machine()); ++ unsigned int max_cpus = ms->smp.max_cpus; ++ int i; ++ evtchn_port_t port; ++ ++ port = xenevtchn_pending(state->xce_handle); ++ if (port == state->bufioreq_local_port) { ++ timer_mod(state->buffered_io_timer, ++ BUFFER_IO_MAX_DELAY + qemu_clock_get_ms(QEMU_CLOCK_REALTIME)); ++ return NULL; ++ } ++ ++ if (port != -1) { ++ for (i = 0; i < max_cpus; i++) { ++ if (state->ioreq_local_port[i] == port) { ++ break; ++ } ++ } ++ ++ if (i == max_cpus) { ++ hw_error("Fatal error while trying to get io event!\n"); ++ } ++ ++ /* unmask the wanted port again */ ++ xenevtchn_unmask(state->xce_handle, port); ++ ++ /* get the io packet from shared memory */ ++ state->send_vcpu = i; ++ return cpu_get_ioreq_from_shared_memory(state, i); ++ } ++ ++ /* read error or read nothing */ ++ return NULL; ++} ++ ++static uint32_t do_inp(uint32_t addr, unsigned long size) ++{ ++ switch (size) { ++ case 1: ++ return cpu_inb(addr); ++ case 2: ++ return cpu_inw(addr); ++ case 4: ++ return cpu_inl(addr); ++ default: ++ hw_error("inp: bad size: %04x %lx", addr, size); ++ } ++} ++ ++static void do_outp(uint32_t addr, ++ unsigned long size, uint32_t val) ++{ ++ switch (size) { ++ case 1: ++ return cpu_outb(addr, val); ++ case 2: ++ return cpu_outw(addr, val); ++ case 4: ++ return cpu_outl(addr, val); ++ default: ++ hw_error("outp: bad size: %04x %lx", addr, size); ++ } ++} ++ ++/* ++ * Helper functions which read/write an object from/to physical guest ++ * memory, as part of the implementation of an ioreq. ++ * ++ * Equivalent to ++ * cpu_physical_memory_rw(addr + (req->df ? -1 : +1) * req->size * i, ++ * val, req->size, 0/1) ++ * except without the integer overflow problems. ++ */ ++static void rw_phys_req_item(hwaddr addr, ++ ioreq_t *req, uint32_t i, void *val, int rw) ++{ ++ /* Do everything unsigned so overflow just results in a truncated result ++ * and accesses to undesired parts of guest memory, which is up ++ * to the guest */ ++ hwaddr offset = (hwaddr)req->size * i; ++ if (req->df) { ++ addr -= offset; ++ } else { ++ addr += offset; ++ } ++ cpu_physical_memory_rw(addr, val, req->size, rw); ++} ++ ++static inline void read_phys_req_item(hwaddr addr, ++ ioreq_t *req, uint32_t i, void *val) ++{ ++ rw_phys_req_item(addr, req, i, val, 0); ++} ++static inline void write_phys_req_item(hwaddr addr, ++ ioreq_t *req, uint32_t i, void *val) ++{ ++ rw_phys_req_item(addr, req, i, val, 1); ++} ++ ++ ++void cpu_ioreq_pio(ioreq_t *req) ++{ ++ uint32_t i; ++ ++ trace_cpu_ioreq_pio(req, req->dir, req->df, req->data_is_ptr, req->addr, ++ req->data, req->count, req->size); ++ ++ if (req->size > sizeof(uint32_t)) { ++ hw_error("PIO: bad size (%u)", req->size); ++ } ++ ++ if (req->dir == IOREQ_READ) { ++ if (!req->data_is_ptr) { ++ req->data = do_inp(req->addr, req->size); ++ trace_cpu_ioreq_pio_read_reg(req, req->data, req->addr, ++ req->size); ++ } else { ++ uint32_t tmp; ++ ++ for (i = 0; i < req->count; i++) { ++ tmp = do_inp(req->addr, req->size); ++ write_phys_req_item(req->data, req, i, &tmp); ++ } ++ } ++ } else if (req->dir == IOREQ_WRITE) { ++ if (!req->data_is_ptr) { ++ trace_cpu_ioreq_pio_write_reg(req, req->data, req->addr, ++ req->size); ++ do_outp(req->addr, req->size, req->data); ++ } else { ++ for (i = 0; i < req->count; i++) { ++ uint32_t tmp = 0; ++ ++ read_phys_req_item(req->data, req, i, &tmp); ++ do_outp(req->addr, req->size, tmp); ++ } ++ } ++ } ++} ++ ++static void cpu_ioreq_move(ioreq_t *req) ++{ ++ uint32_t i; ++ ++ trace_cpu_ioreq_move(req, req->dir, req->df, req->data_is_ptr, req->addr, ++ req->data, req->count, req->size); ++ ++ if (req->size > sizeof(req->data)) { ++ hw_error("MMIO: bad size (%u)", req->size); ++ } ++ ++ if (!req->data_is_ptr) { ++ if (req->dir == IOREQ_READ) { ++ for (i = 0; i < req->count; i++) { ++ read_phys_req_item(req->addr, req, i, &req->data); ++ } ++ } else if (req->dir == IOREQ_WRITE) { ++ for (i = 0; i < req->count; i++) { ++ write_phys_req_item(req->addr, req, i, &req->data); ++ } ++ } ++ } else { ++ uint64_t tmp; ++ ++ if (req->dir == IOREQ_READ) { ++ for (i = 0; i < req->count; i++) { ++ read_phys_req_item(req->addr, req, i, &tmp); ++ write_phys_req_item(req->data, req, i, &tmp); ++ } ++ } else if (req->dir == IOREQ_WRITE) { ++ for (i = 0; i < req->count; i++) { ++ read_phys_req_item(req->data, req, i, &tmp); ++ write_phys_req_item(req->addr, req, i, &tmp); ++ } ++ } ++ } ++} ++ ++static void cpu_ioreq_config(XenIOState *state, ioreq_t *req) ++{ ++ uint32_t sbdf = req->addr >> 32; ++ uint32_t reg = req->addr; ++ XenPciDevice *xendev; ++ ++ if (req->size != sizeof(uint8_t) && req->size != sizeof(uint16_t) && ++ req->size != sizeof(uint32_t)) { ++ hw_error("PCI config access: bad size (%u)", req->size); ++ } ++ ++ if (req->count != 1) { ++ hw_error("PCI config access: bad count (%u)", req->count); ++ } ++ ++ QLIST_FOREACH(xendev, &state->dev_list, entry) { ++ if (xendev->sbdf != sbdf) { ++ continue; ++ } ++ ++ if (!req->data_is_ptr) { ++ if (req->dir == IOREQ_READ) { ++ req->data = pci_host_config_read_common( ++ xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE, ++ req->size); ++ trace_cpu_ioreq_config_read(req, xendev->sbdf, reg, ++ req->size, req->data); ++ } else if (req->dir == IOREQ_WRITE) { ++ trace_cpu_ioreq_config_write(req, xendev->sbdf, reg, ++ req->size, req->data); ++ pci_host_config_write_common( ++ xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE, ++ req->data, req->size); ++ } ++ } else { ++ uint32_t tmp; ++ ++ if (req->dir == IOREQ_READ) { ++ tmp = pci_host_config_read_common( ++ xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE, ++ req->size); ++ trace_cpu_ioreq_config_read(req, xendev->sbdf, reg, ++ req->size, tmp); ++ write_phys_req_item(req->data, req, 0, &tmp); ++ } else if (req->dir == IOREQ_WRITE) { ++ read_phys_req_item(req->data, req, 0, &tmp); ++ trace_cpu_ioreq_config_write(req, xendev->sbdf, reg, ++ req->size, tmp); ++ pci_host_config_write_common( ++ xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE, ++ tmp, req->size); ++ } ++ } ++ } ++} ++ ++static void handle_ioreq(XenIOState *state, ioreq_t *req) ++{ ++ trace_handle_ioreq(req, req->type, req->dir, req->df, req->data_is_ptr, ++ req->addr, req->data, req->count, req->size); ++ ++ if (!req->data_is_ptr && (req->dir == IOREQ_WRITE) && ++ (req->size < sizeof (target_ulong))) { ++ req->data &= ((target_ulong) 1 << (8 * req->size)) - 1; ++ } ++ ++ if (req->dir == IOREQ_WRITE) ++ trace_handle_ioreq_write(req, req->type, req->df, req->data_is_ptr, ++ req->addr, req->data, req->count, req->size); ++ ++ switch (req->type) { ++ case IOREQ_TYPE_PIO: ++ cpu_ioreq_pio(req); ++ break; ++ case IOREQ_TYPE_COPY: ++ cpu_ioreq_move(req); ++ break; ++ case IOREQ_TYPE_TIMEOFFSET: ++ break; ++ case IOREQ_TYPE_INVALIDATE: ++ xen_invalidate_map_cache(); ++ break; ++ case IOREQ_TYPE_PCI_CONFIG: ++ cpu_ioreq_config(state, req); ++ break; ++ default: ++ arch_handle_ioreq(state, req); ++ } ++ if (req->dir == IOREQ_READ) { ++ trace_handle_ioreq_read(req, req->type, req->df, req->data_is_ptr, ++ req->addr, req->data, req->count, req->size); ++ } ++} ++ ++static bool handle_buffered_iopage(XenIOState *state) ++{ ++ buffered_iopage_t *buf_page = state->buffered_io_page; ++ buf_ioreq_t *buf_req = NULL; ++ bool handled_ioreq = false; ++ ioreq_t req; ++ int qw; ++ ++ if (!buf_page) { ++ return 0; ++ } ++ ++ memset(&req, 0x00, sizeof(req)); ++ req.state = STATE_IOREQ_READY; ++ req.count = 1; ++ req.dir = IOREQ_WRITE; ++ ++ for (;;) { ++ uint32_t rdptr = buf_page->read_pointer, wrptr; ++ ++ xen_rmb(); ++ wrptr = buf_page->write_pointer; ++ xen_rmb(); ++ if (rdptr != buf_page->read_pointer) { ++ continue; ++ } ++ if (rdptr == wrptr) { ++ break; ++ } ++ buf_req = &buf_page->buf_ioreq[rdptr % IOREQ_BUFFER_SLOT_NUM]; ++ req.size = 1U << buf_req->size; ++ req.addr = buf_req->addr; ++ req.data = buf_req->data; ++ req.type = buf_req->type; ++ xen_rmb(); ++ qw = (req.size == 8); ++ if (qw) { ++ if (rdptr + 1 == wrptr) { ++ hw_error("Incomplete quad word buffered ioreq"); ++ } ++ buf_req = &buf_page->buf_ioreq[(rdptr + 1) % ++ IOREQ_BUFFER_SLOT_NUM]; ++ req.data |= ((uint64_t)buf_req->data) << 32; ++ xen_rmb(); ++ } ++ ++ handle_ioreq(state, &req); ++ ++ /* Only req.data may get updated by handle_ioreq(), albeit even that ++ * should not happen as such data would never make it to the guest (we ++ * can only usefully see writes here after all). ++ */ ++ assert(req.state == STATE_IOREQ_READY); ++ assert(req.count == 1); ++ assert(req.dir == IOREQ_WRITE); ++ assert(!req.data_is_ptr); ++ ++ qatomic_add(&buf_page->read_pointer, qw + 1); ++ } ++ ++ return handled_ioreq; ++} ++ ++static void handle_buffered_io(void *opaque) ++{ ++ XenIOState *state = opaque; ++ ++ if (handle_buffered_iopage(state)) { ++ timer_mod(state->buffered_io_timer, ++ BUFFER_IO_MAX_DELAY + qemu_clock_get_ms(QEMU_CLOCK_REALTIME)); ++ } else { ++ timer_del(state->buffered_io_timer); ++ xenevtchn_unmask(state->xce_handle, state->bufioreq_local_port); ++ } ++} ++ ++static void cpu_handle_ioreq(void *opaque) ++{ ++ XenIOState *state = opaque; ++ ioreq_t *req = cpu_get_ioreq(state); ++ ++ handle_buffered_iopage(state); ++ if (req) { ++ ioreq_t copy = *req; ++ ++ xen_rmb(); ++ handle_ioreq(state, ©); ++ req->data = copy.data; ++ ++ if (req->state != STATE_IOREQ_INPROCESS) { ++ fprintf(stderr, "Badness in I/O request ... not in service?!: " ++ "%x, ptr: %x, port: %"PRIx64", " ++ "data: %"PRIx64", count: %u, size: %u, type: %u\n", ++ req->state, req->data_is_ptr, req->addr, ++ req->data, req->count, req->size, req->type); ++ destroy_hvm_domain(false); ++ return; ++ } ++ ++ xen_wmb(); /* Update ioreq contents /then/ update state. */ ++ ++ /* ++ * We do this before we send the response so that the tools ++ * have the opportunity to pick up on the reset before the ++ * guest resumes and does a hlt with interrupts disabled which ++ * causes Xen to powerdown the domain. ++ */ ++ if (runstate_is_running()) { ++ ShutdownCause request; ++ ++ if (qemu_shutdown_requested_get()) { ++ destroy_hvm_domain(false); ++ } ++ request = qemu_reset_requested_get(); ++ if (request) { ++ qemu_system_reset(request); ++ destroy_hvm_domain(true); ++ } ++ } ++ ++ req->state = STATE_IORESP_READY; ++ xenevtchn_notify(state->xce_handle, ++ state->ioreq_local_port[state->send_vcpu]); ++ } ++} ++ ++static void xen_main_loop_prepare(XenIOState *state) ++{ ++ int evtchn_fd = -1; ++ ++ if (state->xce_handle != NULL) { ++ evtchn_fd = xenevtchn_fd(state->xce_handle); ++ } ++ ++ state->buffered_io_timer = timer_new_ms(QEMU_CLOCK_REALTIME, handle_buffered_io, ++ state); ++ ++ if (evtchn_fd != -1) { ++ CPUState *cpu_state; ++ ++ DPRINTF("%s: Init cpu_by_vcpu_id\n", __func__); ++ CPU_FOREACH(cpu_state) { ++ DPRINTF("%s: cpu_by_vcpu_id[%d]=%p\n", ++ __func__, cpu_state->cpu_index, cpu_state); ++ state->cpu_by_vcpu_id[cpu_state->cpu_index] = cpu_state; ++ } ++ qemu_set_fd_handler(evtchn_fd, cpu_handle_ioreq, NULL, state); ++ } ++} ++ ++ ++void xen_hvm_change_state_handler(void *opaque, bool running, ++ RunState rstate) ++{ ++ XenIOState *state = opaque; ++ ++ if (running) { ++ xen_main_loop_prepare(state); ++ } ++ ++ xen_set_ioreq_server_state(xen_domid, ++ state->ioservid, ++ (rstate == RUN_STATE_RUNNING)); ++} ++ ++void xen_exit_notifier(Notifier *n, void *data) ++{ ++ XenIOState *state = container_of(n, XenIOState, exit); ++ ++ xen_destroy_ioreq_server(xen_domid, state->ioservid); ++ if (state->fres != NULL) { ++ xenforeignmemory_unmap_resource(xen_fmem, state->fres); ++ } ++ ++ xenevtchn_close(state->xce_handle); ++ xs_daemon_close(state->xenstore); ++} ++ ++static int xen_map_ioreq_server(XenIOState *state) ++{ ++ void *addr = NULL; ++ xen_pfn_t ioreq_pfn; ++ xen_pfn_t bufioreq_pfn; ++ evtchn_port_t bufioreq_evtchn; ++ int rc; ++ ++ /* ++ * Attempt to map using the resource API and fall back to normal ++ * foreign mapping if this is not supported. ++ */ ++ QEMU_BUILD_BUG_ON(XENMEM_resource_ioreq_server_frame_bufioreq != 0); ++ QEMU_BUILD_BUG_ON(XENMEM_resource_ioreq_server_frame_ioreq(0) != 1); ++ state->fres = xenforeignmemory_map_resource(xen_fmem, xen_domid, ++ XENMEM_resource_ioreq_server, ++ state->ioservid, 0, 2, ++ &addr, ++ PROT_READ | PROT_WRITE, 0); ++ if (state->fres != NULL) { ++ trace_xen_map_resource_ioreq(state->ioservid, addr); ++ state->buffered_io_page = addr; ++ state->shared_page = addr + TARGET_PAGE_SIZE; ++ } else if (errno != EOPNOTSUPP) { ++ error_report("failed to map ioreq server resources: error %d handle=%p", ++ errno, xen_xc); ++ return -1; ++ } ++ ++ rc = xen_get_ioreq_server_info(xen_domid, state->ioservid, ++ (state->shared_page == NULL) ? ++ &ioreq_pfn : NULL, ++ (state->buffered_io_page == NULL) ? ++ &bufioreq_pfn : NULL, ++ &bufioreq_evtchn); ++ if (rc < 0) { ++ error_report("failed to get ioreq server info: error %d handle=%p", ++ errno, xen_xc); ++ return rc; ++ } ++ ++ if (state->shared_page == NULL) { ++ DPRINTF("shared page at pfn %lx\n", ioreq_pfn); ++ ++ state->shared_page = xenforeignmemory_map(xen_fmem, xen_domid, ++ PROT_READ | PROT_WRITE, ++ 1, &ioreq_pfn, NULL); ++ if (state->shared_page == NULL) { ++ error_report("map shared IO page returned error %d handle=%p", ++ errno, xen_xc); ++ } ++ } ++ ++ if (state->buffered_io_page == NULL) { ++ DPRINTF("buffered io page at pfn %lx\n", bufioreq_pfn); ++ ++ state->buffered_io_page = xenforeignmemory_map(xen_fmem, xen_domid, ++ PROT_READ | PROT_WRITE, ++ 1, &bufioreq_pfn, ++ NULL); ++ if (state->buffered_io_page == NULL) { ++ error_report("map buffered IO page returned error %d", errno); ++ return -1; ++ } ++ } ++ ++ if (state->shared_page == NULL || state->buffered_io_page == NULL) { ++ return -1; ++ } ++ ++ DPRINTF("buffered io evtchn is %x\n", bufioreq_evtchn); ++ ++ state->bufioreq_remote_port = bufioreq_evtchn; ++ ++ return 0; ++} ++ ++void xen_shutdown_fatal_error(const char *fmt, ...) ++{ ++ va_list ap; ++ ++ va_start(ap, fmt); ++ vfprintf(stderr, fmt, ap); ++ va_end(ap); ++ fprintf(stderr, "Will destroy the domain.\n"); ++ /* destroy the domain */ ++ qemu_system_shutdown_request(SHUTDOWN_CAUSE_HOST_ERROR); ++} ++ ++void destroy_hvm_domain(bool reboot) ++{ ++ xc_interface *xc_handle; ++ int sts; ++ int rc; ++ ++ unsigned int reason = reboot ? SHUTDOWN_reboot : SHUTDOWN_poweroff; ++ ++ if (xen_dmod) { ++ rc = xendevicemodel_shutdown(xen_dmod, xen_domid, reason); ++ if (!rc) { ++ return; ++ } ++ if (errno != ENOTTY /* old Xen */) { ++ perror("xendevicemodel_shutdown failed"); ++ } ++ /* well, try the old thing then */ ++ } ++ ++ xc_handle = xc_interface_open(0, 0, 0); ++ if (xc_handle == NULL) { ++ fprintf(stderr, "Cannot acquire xenctrl handle\n"); ++ } else { ++ sts = xc_domain_shutdown(xc_handle, xen_domid, reason); ++ if (sts != 0) { ++ fprintf(stderr, "xc_domain_shutdown failed to issue %s, " ++ "sts %d, %s\n", reboot ? "reboot" : "poweroff", ++ sts, strerror(errno)); ++ } else { ++ fprintf(stderr, "Issued domain %d %s\n", xen_domid, ++ reboot ? "reboot" : "poweroff"); ++ } ++ xc_interface_close(xc_handle); ++ } ++} ++ ++void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr, ++ Error **errp) ++{ ++ unsigned long nr_pfn; ++ xen_pfn_t *pfn_list; ++ int i; ++ ++ if (runstate_check(RUN_STATE_INMIGRATE)) { ++ /* RAM already populated in Xen */ ++ fprintf(stderr, "%s: do not alloc "RAM_ADDR_FMT ++ " bytes of ram at "RAM_ADDR_FMT" when runstate is INMIGRATE\n", ++ __func__, size, ram_addr); ++ return; ++ } ++ ++ if (mr == &ram_memory) { ++ return; ++ } ++ ++ trace_xen_ram_alloc(ram_addr, size); ++ ++ nr_pfn = size >> TARGET_PAGE_BITS; ++ pfn_list = g_malloc(sizeof (*pfn_list) * nr_pfn); ++ ++ for (i = 0; i < nr_pfn; i++) { ++ pfn_list[i] = (ram_addr >> TARGET_PAGE_BITS) + i; ++ } ++ ++ if (xc_domain_populate_physmap_exact(xen_xc, xen_domid, nr_pfn, 0, 0, pfn_list)) { ++ error_setg(errp, "xen: failed to populate ram at " RAM_ADDR_FMT, ++ ram_addr); ++ } ++ ++ g_free(pfn_list); ++} ++ ++void xen_register_ioreq(XenIOState *state, unsigned int max_cpus, ++ MemoryListener xen_memory_listener) ++{ ++ int i, rc; ++ ++ state->xce_handle = xenevtchn_open(NULL, 0); ++ if (state->xce_handle == NULL) { ++ perror("xen: event channel open"); ++ goto err; ++ } ++ ++ state->xenstore = xs_daemon_open(); ++ if (state->xenstore == NULL) { ++ perror("xen: xenstore open"); ++ goto err; ++ } ++ ++ xen_create_ioreq_server(xen_domid, &state->ioservid); ++ ++ state->exit.notify = xen_exit_notifier; ++ qemu_add_exit_notifier(&state->exit); ++ ++ /* ++ * Register wake-up support in QMP query-current-machine API ++ */ ++ qemu_register_wakeup_support(); ++ ++ rc = xen_map_ioreq_server(state); ++ if (rc < 0) { ++ goto err; ++ } ++ ++ /* Note: cpus is empty at this point in init */ ++ state->cpu_by_vcpu_id = g_new0(CPUState *, max_cpus); ++ ++ rc = xen_set_ioreq_server_state(xen_domid, state->ioservid, true); ++ if (rc < 0) { ++ error_report("failed to enable ioreq server info: error %d handle=%p", ++ errno, xen_xc); ++ goto err; ++ } ++ ++ state->ioreq_local_port = g_new0(evtchn_port_t, max_cpus); ++ ++ /* FIXME: how about if we overflow the page here? */ ++ for (i = 0; i < max_cpus; i++) { ++ rc = xenevtchn_bind_interdomain(state->xce_handle, xen_domid, ++ xen_vcpu_eport(state->shared_page, i)); ++ if (rc == -1) { ++ error_report("shared evtchn %d bind error %d", i, errno); ++ goto err; ++ } ++ state->ioreq_local_port[i] = rc; ++ } ++ ++ rc = xenevtchn_bind_interdomain(state->xce_handle, xen_domid, ++ state->bufioreq_remote_port); ++ if (rc == -1) { ++ error_report("buffered evtchn bind error %d", errno); ++ goto err; ++ } ++ state->bufioreq_local_port = rc; ++ ++ /* Init RAM management */ ++#ifdef XEN_COMPAT_PHYSMAP ++ xen_map_cache_init(xen_phys_offset_to_gaddr, state); ++#else ++ xen_map_cache_init(NULL, state); ++#endif ++ ++ qemu_add_vm_change_state_handler(xen_hvm_change_state_handler, state); ++ ++ state->memory_listener = xen_memory_listener; ++ memory_listener_register(&state->memory_listener, &address_space_memory); ++ ++ state->io_listener = xen_io_listener; ++ memory_listener_register(&state->io_listener, &address_space_io); ++ ++ state->device_listener = xen_device_listener; ++ QLIST_INIT(&state->dev_list); ++ device_listener_register(&state->device_listener); ++ ++ xen_bus_init(); ++ ++ /* Initialize backend core & drivers */ ++ if (xen_be_init() != 0) { ++ error_report("xen backend core setup failed"); ++ goto err; ++ } ++ xen_be_register_common(); ++ ++ return; ++err: ++ error_report("xen hardware virtual machine initialisation failed"); ++ exit(1); ++} +diff --git a/include/hw/i386/xen_arch_hvm.h b/include/hw/i386/xen_arch_hvm.h +index 1b2c71ba4f..1000f8f543 100644 +--- a/include/hw/i386/xen_arch_hvm.h ++++ b/include/hw/i386/xen_arch_hvm.h +@@ -2,6 +2,7 @@ + #define HW_XEN_ARCH_I386_HVM_H + + #include ++#include "hw/xen/xen-hvm-common.h" + + void arch_handle_ioreq(XenIOState *state, ioreq_t *req); + void arch_xen_set_memory(XenIOState *state, +diff --git a/include/hw/xen/xen-hvm-common.h b/include/hw/xen/xen-hvm-common.h +new file mode 100644 +index 0000000000..2979f84ee2 +--- /dev/null ++++ b/include/hw/xen/xen-hvm-common.h +@@ -0,0 +1,98 @@ ++#ifndef HW_XEN_HVM_COMMON_H ++#define HW_XEN_HVM_COMMON_H ++ ++#include "qemu/osdep.h" ++#include "qemu/units.h" ++ ++#include "cpu.h" ++#include "hw/pci/pci.h" ++#include "hw/hw.h" ++#include "hw/xen/xen_common.h" ++#include "sysemu/runstate.h" ++#include "sysemu/sysemu.h" ++#include "sysemu/xen.h" ++#include "sysemu/xen-mapcache.h" ++ ++#include ++ ++extern MemoryRegion ram_memory; ++extern MemoryListener xen_io_listener; ++extern DeviceListener xen_device_listener; ++ ++//#define DEBUG_XEN_HVM ++ ++#ifdef DEBUG_XEN_HVM ++#define DPRINTF(fmt, ...) \ ++ do { fprintf(stderr, "xen: " fmt, ## __VA_ARGS__); } while (0) ++#else ++#define DPRINTF(fmt, ...) \ ++ do { } while (0) ++#endif ++ ++static inline uint32_t xen_vcpu_eport(shared_iopage_t *shared_page, int i) ++{ ++ return shared_page->vcpu_ioreq[i].vp_eport; ++} ++static inline ioreq_t *xen_vcpu_ioreq(shared_iopage_t *shared_page, int vcpu) ++{ ++ return &shared_page->vcpu_ioreq[vcpu]; ++} ++ ++#define BUFFER_IO_MAX_DELAY 100 ++ ++typedef struct XenPhysmap { ++ hwaddr start_addr; ++ ram_addr_t size; ++ const char *name; ++ hwaddr phys_offset; ++ ++ QLIST_ENTRY(XenPhysmap) list; ++} XenPhysmap; ++ ++typedef struct XenPciDevice { ++ PCIDevice *pci_dev; ++ uint32_t sbdf; ++ QLIST_ENTRY(XenPciDevice) entry; ++} XenPciDevice; ++ ++typedef struct XenIOState { ++ ioservid_t ioservid; ++ shared_iopage_t *shared_page; ++ buffered_iopage_t *buffered_io_page; ++ xenforeignmemory_resource_handle *fres; ++ QEMUTimer *buffered_io_timer; ++ CPUState **cpu_by_vcpu_id; ++ /* the evtchn port for polling the notification, */ ++ evtchn_port_t *ioreq_local_port; ++ /* evtchn remote and local ports for buffered io */ ++ evtchn_port_t bufioreq_remote_port; ++ evtchn_port_t bufioreq_local_port; ++ /* the evtchn fd for polling */ ++ xenevtchn_handle *xce_handle; ++ /* which vcpu we are serving */ ++ int send_vcpu; ++ ++ struct xs_handle *xenstore; ++ MemoryListener memory_listener; ++ MemoryListener io_listener; ++ QLIST_HEAD(, XenPciDevice) dev_list; ++ DeviceListener device_listener; ++ ++ Notifier exit; ++} XenIOState; ++ ++void xen_exit_notifier(Notifier *n, void *data); ++ ++void xen_region_add(MemoryListener *listener, MemoryRegionSection *section); ++void xen_region_del(MemoryListener *listener, MemoryRegionSection *section); ++void xen_io_add(MemoryListener *listener, MemoryRegionSection *section); ++void xen_io_del(MemoryListener *listener, MemoryRegionSection *section); ++void xen_device_realize(DeviceListener *listener, DeviceState *dev); ++void xen_device_unrealize(DeviceListener *listener, DeviceState *dev); ++ ++void xen_hvm_change_state_handler(void *opaque, bool running, RunState rstate); ++void xen_register_ioreq(XenIOState *state, unsigned int max_cpus, ++ MemoryListener xen_memory_listener); ++ ++void cpu_ioreq_pio(ioreq_t *req); ++#endif /* HW_XEN_HVM_COMMON_H */ +-- +2.17.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0007-xen-mapcache-Fix-build-on-Arm.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0007-xen-mapcache-Fix-build-on-Arm.patch new file mode 100644 index 00000000..7ff202ff --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0007-xen-mapcache-Fix-build-on-Arm.patch @@ -0,0 +1,37 @@ +From 2aca3ff63a5d5897cd32e0030569623f0c454f2c Mon Sep 17 00:00:00 2001 +From: Oleksandr Tyshchenko +Date: Mon, 19 Sep 2022 21:59:55 +0300 +Subject: [PATCH 7/8] xen-mapcache: Fix build on Arm +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +../hw/xen/xen-mapcache.c: In function ‘xen_map_grant_dyn’: +../hw/xen/xen-mapcache.c:668:9: error: ‘refs’ may be used uninitialized + in this function [-Werror=maybe-uninitialized] + 668 | g_free(refs); + | ^~~~~~~~~~~~ +cc1: all warnings being treated as errors + +Signed-off-by: Oleksandr Tyshchenko +Acked-by: Stefano Stabellini +--- + hw/xen/xen-mapcache.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c +index f81b75d216..6544e331e0 100644 +--- a/hw/xen/xen-mapcache.c ++++ b/hw/xen/xen-mapcache.c +@@ -620,7 +620,7 @@ static void *xen_map_grant_dyn(MemoryRegion **mr, hwaddr addr, hwaddr *plen, + unsigned int i; + unsigned int nrefs = (page_off + *plen + XC_PAGE_SIZE - 1) >> XC_PAGE_SHIFT; + uint32_t ref = (addr - XEN_GRANT_ADDR_OFF) >> XC_PAGE_SHIFT; +- uint32_t *refs; ++ uint32_t *refs = NULL; + unsigned int prot = PROT_READ; + struct XENMappedGrantRegion *mgr = NULL; + +-- +2.25.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0007-xen-skip-ioreq-creation-on-ioreq-registration-failur.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0007-xen-skip-ioreq-creation-on-ioreq-registration-failur.patch new file mode 100644 index 00000000..83a18c08 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0007-xen-skip-ioreq-creation-on-ioreq-registration-failur.patch @@ -0,0 +1,42 @@ +From fa475ec44fc78ff246e6536c8b9d408abadbb4a4 Mon Sep 17 00:00:00 2001 +From: Stefano Stabellini +Date: Fri, 1 Jul 2022 18:50:59 -0700 +Subject: [PATCH 07/16] xen: skip ioreq creation on ioreq registration failure + +On ARM it is possible to have a functioning xenpv machine with only the +PV backends and no IOREQ server. If the IOREQ server creation fails +continue to the PV backends initialization. + +Signed-off-by: Stefano Stabellini +--- + hw/xen/xen-hvm-common.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c +index 67f76f6010..7e7d23397f 100644 +--- a/hw/xen/xen-hvm-common.c ++++ b/hw/xen/xen-hvm-common.c +@@ -780,7 +780,11 @@ void xen_register_ioreq(XenIOState *state, unsigned int max_cpus, + goto err; + } + +- xen_create_ioreq_server(xen_domid, &state->ioservid); ++ rc = xen_create_ioreq_server(xen_domid, &state->ioservid); ++ if (rc) { ++ DPRINTF("xen: failed to create ioreq server\n"); ++ goto no_ioreq; ++ } + + state->exit.notify = xen_exit_notifier; + qemu_add_exit_notifier(&state->exit); +@@ -845,6 +849,7 @@ void xen_register_ioreq(XenIOState *state, unsigned int max_cpus, + QLIST_INIT(&state->dev_list); + device_listener_register(&state->device_listener); + ++no_ioreq: + xen_bus_init(); + + /* Initialize backend core & drivers */ +-- +2.17.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0008-accel-xen-xen-all-export-xenstore_record_dm_state.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0008-accel-xen-xen-all-export-xenstore_record_dm_state.patch new file mode 100644 index 00000000..881076fb --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0008-accel-xen-xen-all-export-xenstore_record_dm_state.patch @@ -0,0 +1,48 @@ +From 13443fe86bb100849c55b41873f48e0b121c7bc0 Mon Sep 17 00:00:00 2001 +From: Vikram Garhwal +Date: Fri, 1 Jul 2022 17:28:14 -0700 +Subject: [PATCH 08/16] accel/xen/xen-all: export xenstore_record_dm_state + +Signed-off-by: Vikram Garhwal +Signed-off-by: Stefano Stabellini +Reviewed-by: Stefano Stabellini +--- + accel/xen/xen-all.c | 2 +- + include/hw/xen/xen.h | 2 ++ + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c +index 69aa7d018b..276625b78b 100644 +--- a/accel/xen/xen-all.c ++++ b/accel/xen/xen-all.c +@@ -100,7 +100,7 @@ void xenstore_store_pv_console_info(int i, Chardev *chr) + } + + +-static void xenstore_record_dm_state(struct xs_handle *xs, const char *state) ++void xenstore_record_dm_state(struct xs_handle *xs, const char *state) + { + char path[50]; + +diff --git a/include/hw/xen/xen.h b/include/hw/xen/xen.h +index afdf9c436a..31e9538a5c 100644 +--- a/include/hw/xen/xen.h ++++ b/include/hw/xen/xen.h +@@ -9,6 +9,7 @@ + */ + + #include "exec/cpu-common.h" ++#include + + /* xen-machine.c */ + enum xen_mode { +@@ -31,5 +32,6 @@ qemu_irq *xen_interrupt_controller_init(void); + void xenstore_store_pv_console_info(int i, Chardev *chr); + + void xen_register_framebuffer(struct MemoryRegion *mr); ++void xenstore_record_dm_state(struct xs_handle *xs, const char *state); + + #endif /* QEMU_HW_XEN_H */ +-- +2.17.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0008-hw-arm-Add-grant-mapping.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0008-hw-arm-Add-grant-mapping.patch new file mode 100644 index 00000000..3b83d229 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0008-hw-arm-Add-grant-mapping.patch @@ -0,0 +1,39 @@ +From b5e5f60de37bb6f71bc34ecb989c31ef5c834272 Mon Sep 17 00:00:00 2001 +From: Vikram Garhwal +Date: Tue, 31 Jan 2023 21:46:43 +0000 +Subject: [PATCH 8/8] hw: arm: Add grant mapping. + +Add support for grant mapping and change qemu machine name to xenpvh. + +Signed-off-by: Vikram Garhwal +Acked-by: Stefano Stabellini +--- + hw/arm/xen_arm.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c +index 4ac425a3c5..392bed7367 100644 +--- a/hw/arm/xen_arm.c ++++ b/hw/arm/xen_arm.c +@@ -35,7 +35,7 @@ + #include "sysemu/tpm.h" + #include "hw/xen/arch_hvm.h" + +-#define TYPE_XEN_ARM MACHINE_TYPE_NAME("xenpv") ++#define TYPE_XEN_ARM MACHINE_TYPE_NAME("xenpvh") + OBJECT_DECLARE_SIMPLE_TYPE(XenArmState, XEN_ARM) + + static MemoryListener xen_memory_listener = { +@@ -115,6 +115,9 @@ static void xen_init_ram(MachineState *machine) + DPRINTF("Initialized region xen.ram.hi: base 0x%llx size 0x%lx\n", + GUEST_RAM1_BASE, ram_size[1]); + } ++ ++ DPRINTF("init grant ram mapping for XEN\n"); ++ ram_grants = *xen_init_grant_ram(); + } + + void arch_handle_ioreq(XenIOState *state, ioreq_t *req) +-- +2.25.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0009-xen-hvm-enable-xen-hvm-common-build-for-ARM.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0009-xen-hvm-enable-xen-hvm-common-build-for-ARM.patch new file mode 100644 index 00000000..1b1aea76 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0009-xen-hvm-enable-xen-hvm-common-build-for-ARM.patch @@ -0,0 +1,43 @@ +From 2e6a9f464fd1f247c41ce3666ff3e3f66920d0b7 Mon Sep 17 00:00:00 2001 +From: Vikram Garhwal +Date: Fri, 1 Jul 2022 17:28:15 -0700 +Subject: [PATCH 09/16] xen-hvm: enable xen-hvm-common build for ARM + +Add CONFIG_XEN for aarch64 device and change xen-hvm-common.c to +support build for ARM targets. + +Signed-off-by: Vikram Garhwal +Acked-by: Stefano Stabellini +Signed-off-by: Stefano Stabellini +--- + hw/arm/meson.build | 1 + + meson.build | 2 +- + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/hw/arm/meson.build b/hw/arm/meson.build +index 92f9f6e000..3aac913bfd 100644 +--- a/hw/arm/meson.build ++++ b/hw/arm/meson.build +@@ -62,5 +62,6 @@ arm_ss.add(when: 'CONFIG_FSL_IMX7', if_true: files('fsl-imx7.c', 'mcimx7d-sabre. + arm_ss.add(when: 'CONFIG_ARM_SMMUV3', if_true: files('smmu-common.c', 'smmuv3.c')) + arm_ss.add(when: 'CONFIG_FSL_IMX6UL', if_true: files('fsl-imx6ul.c', 'mcimx6ul-evk.c')) + arm_ss.add(when: 'CONFIG_NRF51_SOC', if_true: files('nrf51_soc.c')) ++arm_ss.add_all(xen_ss) + + hw_arch += {'arm': arm_ss} +diff --git a/meson.build b/meson.build +index 5c6b5a1c75..b94f0cd76e 100644 +--- a/meson.build ++++ b/meson.build +@@ -125,7 +125,7 @@ endif + if cpu in ['x86', 'x86_64', 'arm', 'aarch64'] + # i386 emulator provides xenpv machine type for multiple architectures + accelerator_targets += { +- 'CONFIG_XEN': ['i386-softmmu', 'x86_64-softmmu'], ++ 'CONFIG_XEN': ['i386-softmmu', 'x86_64-softmmu', 'aarch64-softmmu'], + } + endif + if cpu in ['x86', 'x86_64'] +-- +2.17.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0010-hw-arm-introduce-xenpv-machine.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0010-hw-arm-introduce-xenpv-machine.patch new file mode 100644 index 00000000..fc979b52 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0010-hw-arm-introduce-xenpv-machine.patch @@ -0,0 +1,230 @@ +From 5618a18b1f12d567a8ef85240d55b841e18ef472 Mon Sep 17 00:00:00 2001 +From: Vikram Garhwal +Date: Fri, 1 Jul 2022 17:28:16 -0700 +Subject: [PATCH 10/16] hw/arm: introduce xenpv machine + +Create a new machine xenpv which creates a IOREQ server to connect +with Xen. It also creates a tpm-tis-device which connects to swtpm to +support TPM functionalities. + +Xen IOREQ connection expect the TARGET_PAGE_SIZE to 4096, and the xenpv +machine on ARM will have no CPU definitions. We need to define +TARGET_PAGE_SIZE appropriately ourselves. + +Signed-off-by: Vikram Garhwal +Signed-off-by: Stefano Stabellini +Reviewed-by: Stefano Stabellini +--- + hw/arm/meson.build | 1 + + hw/arm/xen_arm.c | 156 ++++++++++++++++++++++++++++++++++ + include/hw/arm/xen_arch_hvm.h | 12 +++ + include/hw/xen/arch_hvm.h | 2 + + 4 files changed, 171 insertions(+) + create mode 100644 hw/arm/xen_arm.c + create mode 100644 include/hw/arm/xen_arch_hvm.h + +diff --git a/hw/arm/meson.build b/hw/arm/meson.build +index 3aac913bfd..0cae024374 100644 +--- a/hw/arm/meson.build ++++ b/hw/arm/meson.build +@@ -62,6 +62,7 @@ arm_ss.add(when: 'CONFIG_FSL_IMX7', if_true: files('fsl-imx7.c', 'mcimx7d-sabre. + arm_ss.add(when: 'CONFIG_ARM_SMMUV3', if_true: files('smmu-common.c', 'smmuv3.c')) + arm_ss.add(when: 'CONFIG_FSL_IMX6UL', if_true: files('fsl-imx6ul.c', 'mcimx6ul-evk.c')) + arm_ss.add(when: 'CONFIG_NRF51_SOC', if_true: files('nrf51_soc.c')) ++arm_ss.add(when: 'CONFIG_XEN', if_true: files('xen_arm.c')) + arm_ss.add_all(xen_ss) + + hw_arch += {'arm': arm_ss} +diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c +new file mode 100644 +index 0000000000..0922e3db84 +--- /dev/null ++++ b/hw/arm/xen_arm.c +@@ -0,0 +1,156 @@ ++/* ++ * QEMU ARM Xen PV Machine ++ * ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a copy ++ * of this software and associated documentation files (the "Software"), to deal ++ * in the Software without restriction, including without limitation the rights ++ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++ * copies of the Software, and to permit persons to whom the Software is ++ * furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included in ++ * all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN ++ * THE SOFTWARE. ++ */ ++ ++#include "qemu/osdep.h" ++#include "qemu/error-report.h" ++#include "qapi/qapi-commands-migration.h" ++#include "hw/boards.h" ++#include "hw/sysbus.h" ++#include "sysemu/block-backend.h" ++#include "sysemu/tpm_backend.h" ++#include "sysemu/sysemu.h" ++#include "hw/xen/xen-legacy-backend.h" ++#include "hw/xen/xen-hvm-common.h" ++#include "sysemu/tpm.h" ++#include "hw/xen/arch_hvm.h" ++ ++#define TYPE_XEN_ARM MACHINE_TYPE_NAME("xenpv") ++OBJECT_DECLARE_SIMPLE_TYPE(XenArmState, XEN_ARM) ++ ++static MemoryListener xen_memory_listener = { ++ .region_add = xen_region_add, ++ .region_del = xen_region_del, ++ .log_start = NULL, ++ .log_stop = NULL, ++ .log_sync = NULL, ++ .log_global_start = NULL, ++ .log_global_stop = NULL, ++ .priority = 10, ++}; ++ ++struct XenArmState { ++ /*< private >*/ ++ MachineState parent; ++ ++ XenIOState *state; ++}; ++ ++void arch_handle_ioreq(XenIOState *state, ioreq_t *req) ++{ ++ hw_error("Invalid ioreq type 0x%x\n", req->type); ++ ++ return; ++} ++ ++void arch_xen_set_memory(XenIOState *state,MemoryRegionSection *section, ++ bool add) ++{ ++} ++ ++void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length) ++{ ++} ++ ++void qmp_xen_set_global_dirty_log(bool enable, Error **errp) ++{ ++} ++ ++static int xen_init_ioreq(XenIOState *state, unsigned int max_cpus) ++{ ++ xen_dmod = xendevicemodel_open(0, 0); ++ xen_xc = xc_interface_open(0, 0, 0); ++ ++ if (xen_xc == NULL) { ++ perror("xen: can't open xen interface\n"); ++ return -1; ++ } ++ ++ xen_fmem = xenforeignmemory_open(0, 0); ++ if (xen_fmem == NULL) { ++ perror("xen: can't open xen fmem interface\n"); ++ xc_interface_close(xen_xc); ++ return -1; ++ } ++ ++ xen_register_ioreq(state, max_cpus, xen_memory_listener); ++ ++ xenstore_record_dm_state(xenstore, "running"); ++ ++ return 0; ++} ++ ++ ++static void xen_arm_init(MachineState *machine) ++{ ++ DeviceState *dev; ++ SysBusDevice *busdev; ++ Error *errp = NULL; ++ XenArmState *xam = XEN_ARM(machine); ++ ++ xam->state = g_new0(XenIOState, 1); ++ ++ if (xen_init_ioreq(xam->state, machine->smp.cpus)) { ++ return; ++ } ++ ++ TPMBackend *be = qemu_find_tpm_be("tpm0"); ++ if (be == NULL) { ++ DPRINTF("Couldn't fine the backend for tpm0\n"); ++ return; ++ } ++ ++ dev = qdev_new(TYPE_TPM_TIS_SYSBUS); ++ object_property_set_link(OBJECT(dev), "tpmdev", OBJECT(be), &errp); ++ object_property_set_str(OBJECT(dev), "tpmdev", be->id, &errp); ++ busdev = SYS_BUS_DEVICE(dev); ++ sysbus_realize_and_unref(busdev, &error_fatal); ++ sysbus_mmio_map(busdev, 0, GUEST_TPM_BASE); ++ ++ DPRINTF("Connected tpmdev at address 0x%lx\n", GUEST_TPM_BASE); ++ ++ return; ++} ++ ++static void xen_arm_machine_class_init(ObjectClass *oc, void *data) ++{ ++ ++ MachineClass *mc = MACHINE_CLASS(oc); ++ mc->desc = "Xen Para-virtualized PC"; ++ mc->init = xen_arm_init; ++ mc->max_cpus = 1; ++ machine_class_allow_dynamic_sysbus_dev(mc, TYPE_TPM_TIS_SYSBUS); ++} ++ ++static const TypeInfo xen_arm_machine_type = { ++ .name = TYPE_XEN_ARM, ++ .parent = TYPE_MACHINE, ++ .class_init = xen_arm_machine_class_init, ++ .instance_size = sizeof(XenArmState), ++}; ++ ++static void xen_arm_machine_register_types(void) ++{ ++ type_register_static(&xen_arm_machine_type); ++} ++ ++type_init(xen_arm_machine_register_types) +diff --git a/include/hw/arm/xen_arch_hvm.h b/include/hw/arm/xen_arch_hvm.h +new file mode 100644 +index 0000000000..f645dfec28 +--- /dev/null ++++ b/include/hw/arm/xen_arch_hvm.h +@@ -0,0 +1,12 @@ ++#ifndef HW_XEN_ARCH_ARM_HVM_H ++#define HW_XEN_ARCH_ARM_HVM_H ++ ++#include ++void arch_handle_ioreq(XenIOState *state, ioreq_t *req); ++void arch_xen_set_memory(XenIOState *state, ++ MemoryRegionSection *section, ++ bool add); ++ ++#undef TARGET_PAGE_SIZE ++#define TARGET_PAGE_SIZE 4096 ++#endif +diff --git a/include/hw/xen/arch_hvm.h b/include/hw/xen/arch_hvm.h +index 26674648d8..c7c515220d 100644 +--- a/include/hw/xen/arch_hvm.h ++++ b/include/hw/xen/arch_hvm.h +@@ -1,3 +1,5 @@ + #if defined(TARGET_I386) || defined(TARGET_X86_64) + #include "hw/i386/xen_arch_hvm.h" ++#elif defined(TARGET_ARM) || defined(TARGET_ARM_64) ++#include "hw/arm/xen_arch_hvm.h" + #endif +-- +2.17.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0011-meson.build-do-not-set-have_xen_pci_passthrough-for-.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0011-meson.build-do-not-set-have_xen_pci_passthrough-for-.patch new file mode 100644 index 00000000..dad3029f --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0011-meson.build-do-not-set-have_xen_pci_passthrough-for-.patch @@ -0,0 +1,33 @@ +From f4ff3490639dea08fb70ec69d60fe73ef479073b Mon Sep 17 00:00:00 2001 +From: Stefano Stabellini +Date: Thu, 7 Jul 2022 14:03:41 -0700 +Subject: [PATCH 11/16] meson.build: do not set have_xen_pci_passthrough for + aarch64 targets +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +have_xen_pci_passthrough is only used for Xen x86 VMs. + +Signed-off-by: Stefano Stabellini +Reviewed-by: Alex Bennée +--- + meson.build | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/meson.build b/meson.build +index b94f0cd76e..a4965251ab 100644 +--- a/meson.build ++++ b/meson.build +@@ -1469,6 +1469,8 @@ have_xen_pci_passthrough = get_option('xen_pci_passthrough') \ + error_message: 'Xen PCI passthrough requested but Xen not enabled') \ + .require(targetos == 'linux', + error_message: 'Xen PCI passthrough not available on this platform') \ ++ .require(cpu == 'x86' or cpu == 'x86_64', ++ error_message: 'Xen PCI passthrough not available on this platform') \ + .allowed() + + +-- +2.17.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0012-xen-arm-call-qemu_find_tpm_be-if-CONFIG_TPM.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0012-xen-arm-call-qemu_find_tpm_be-if-CONFIG_TPM.patch new file mode 100644 index 00000000..f80a0873 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0012-xen-arm-call-qemu_find_tpm_be-if-CONFIG_TPM.patch @@ -0,0 +1,72 @@ +From a26982a55fa5f47116b344ca5d411f00c3a2b422 Mon Sep 17 00:00:00 2001 +From: Stefano Stabellini +Date: Thu, 7 Jul 2022 14:35:33 -0700 +Subject: [PATCH 12/16] xen-arm: call qemu_find_tpm_be if CONFIG_TPM + +qemu_find_tpm_be is only availablen when CONFIG_TPM is enabled. +So #ifdef the call to make sure the code builds correctly even when +CONFIG_TPM is not enabled. + +Signed-off-by: Stefano Stabellini +--- + hw/arm/xen_arm.c | 28 +++++++++++++++++----------- + 1 file changed, 17 insertions(+), 11 deletions(-) + +diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c +index 0922e3db84..f248b5744a 100644 +--- a/hw/arm/xen_arm.c ++++ b/hw/arm/xen_arm.c +@@ -99,26 +99,18 @@ static int xen_init_ioreq(XenIOState *state, unsigned int max_cpus) + return 0; + } + +- +-static void xen_arm_init(MachineState *machine) ++static void xen_enable_tpm(void) + { ++#ifdef CONFIG_TPM ++ Error *errp = NULL; + DeviceState *dev; + SysBusDevice *busdev; +- Error *errp = NULL; +- XenArmState *xam = XEN_ARM(machine); +- +- xam->state = g_new0(XenIOState, 1); +- +- if (xen_init_ioreq(xam->state, machine->smp.cpus)) { +- return; +- } + + TPMBackend *be = qemu_find_tpm_be("tpm0"); + if (be == NULL) { + DPRINTF("Couldn't fine the backend for tpm0\n"); + return; + } +- + dev = qdev_new(TYPE_TPM_TIS_SYSBUS); + object_property_set_link(OBJECT(dev), "tpmdev", OBJECT(be), &errp); + object_property_set_str(OBJECT(dev), "tpmdev", be->id, &errp); +@@ -127,6 +119,20 @@ static void xen_arm_init(MachineState *machine) + sysbus_mmio_map(busdev, 0, GUEST_TPM_BASE); + + DPRINTF("Connected tpmdev at address 0x%lx\n", GUEST_TPM_BASE); ++#endif ++} ++ ++static void xen_arm_init(MachineState *machine) ++{ ++ XenArmState *xam = XEN_ARM(machine); ++ ++ xam->state = g_new0(XenIOState, 1); ++ ++ if (xen_init_ioreq(xam->state, machine->smp.cpus)) { ++ return; ++ } ++ ++ xen_enable_tpm(); + + return; + } +-- +2.17.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0013-arm-xenpv-fix-TPM-address-print-warning.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0013-arm-xenpv-fix-TPM-address-print-warning.patch new file mode 100644 index 00000000..1aa09efb --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0013-arm-xenpv-fix-TPM-address-print-warning.patch @@ -0,0 +1,27 @@ +From c5b128668d9cd1e1cb4da80d5bc8aaebc6ff2e19 Mon Sep 17 00:00:00 2001 +From: Vikram Garhwal +Date: Fri, 23 Dec 2022 00:06:29 +0000 +Subject: [PATCH 13/16] arm: xenpv: fix TPM address print warning + +Signed-off-by: Vikram Garhwal +Acked-by: Stefano Stabellini +--- + hw/arm/xen_arm.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c +index f248b5744a..153cedfeb4 100644 +--- a/hw/arm/xen_arm.c ++++ b/hw/arm/xen_arm.c +@@ -118,7 +118,7 @@ static void xen_enable_tpm(void) + sysbus_realize_and_unref(busdev, &error_fatal); + sysbus_mmio_map(busdev, 0, GUEST_TPM_BASE); + +- DPRINTF("Connected tpmdev at address 0x%lx\n", GUEST_TPM_BASE); ++ DPRINTF("Connected tpmdev at address 0x%llx\n", GUEST_TPM_BASE); + #endif + } + +-- +2.17.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0014-xen_arm-Create-virtio-mmio-devices-during-initializa.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0014-xen_arm-Create-virtio-mmio-devices-during-initializa.patch new file mode 100644 index 00000000..a6925acf --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0014-xen_arm-Create-virtio-mmio-devices-during-initializa.patch @@ -0,0 +1,83 @@ +From 3dc39d71c3652bea37dc955d5dbf8cd391d2aed0 Mon Sep 17 00:00:00 2001 +From: Oleksandr Tyshchenko +Date: Sat, 30 Jul 2022 17:51:19 +0300 +Subject: [PATCH 14/16] xen_arm: Create virtio-mmio devices during + initialization + +In order to use virtio backends we need to allocate virtio-mmio +parameters (irq and base) and register corresponding buses. + +Use the constants defined in public header arch-arm.h to be +aligned with the toolstack. So the number of current supported +virtio-mmio devices is 10. + +For the interrupts triggering use already existing on Arm +device-model hypercall. + +The toolstack should then insert the same amount of device nodes +into guest device-tree. + +Signed-off-by: Oleksandr Tyshchenko +Signed-off-by: Vikram Garhwal +Reviewed-by: Stefano Stabellini +--- + hw/arm/xen_arm.c | 29 +++++++++++++++++++++++++++++ + 1 file changed, 29 insertions(+) + +diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c +index 153cedfeb4..2012ee7aff 100644 +--- a/hw/arm/xen_arm.c ++++ b/hw/arm/xen_arm.c +@@ -25,6 +25,7 @@ + #include "qemu/error-report.h" + #include "qapi/qapi-commands-migration.h" + #include "hw/boards.h" ++#include "hw/irq.h" + #include "hw/sysbus.h" + #include "sysemu/block-backend.h" + #include "sysemu/tpm_backend.h" +@@ -55,6 +56,32 @@ struct XenArmState { + XenIOState *state; + }; + ++#define VIRTIO_MMIO_DEV_SIZE 0x200 ++ ++#define NR_VIRTIO_MMIO_DEVICES \ ++ (GUEST_VIRTIO_MMIO_SPI_LAST - GUEST_VIRTIO_MMIO_SPI_FIRST) ++ ++static void xen_set_irq(void *opaque, int irq, int level) ++{ ++ xendevicemodel_set_irq_level(xen_dmod, xen_domid, irq, level); ++} ++ ++static void xen_create_virtio_mmio_devices(XenArmState *xam) ++{ ++ int i; ++ ++ for (i = 0; i < NR_VIRTIO_MMIO_DEVICES; i++) { ++ hwaddr base = GUEST_VIRTIO_MMIO_BASE + i * VIRTIO_MMIO_DEV_SIZE; ++ qemu_irq irq = qemu_allocate_irq(xen_set_irq, NULL, ++ GUEST_VIRTIO_MMIO_SPI_FIRST + i); ++ ++ sysbus_create_simple("virtio-mmio", base, irq); ++ ++ DPRINTF("Created virtio-mmio device %d: irq %d base 0x%lx\n", ++ i, GUEST_VIRTIO_MMIO_SPI_FIRST + i, base); ++ } ++} ++ + void arch_handle_ioreq(XenIOState *state, ioreq_t *req) + { + hw_error("Invalid ioreq type 0x%x\n", req->type); +@@ -132,6 +159,8 @@ static void xen_arm_init(MachineState *machine) + return; + } + ++ xen_create_virtio_mmio_devices(xam); ++ + xen_enable_tpm(); + + return; +-- +2.17.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0015-xen_arm-Initialize-RAM-and-add-hi-low-memory-regions.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0015-xen_arm-Initialize-RAM-and-add-hi-low-memory-regions.patch new file mode 100644 index 00000000..7c2b272d --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0015-xen_arm-Initialize-RAM-and-add-hi-low-memory-regions.patch @@ -0,0 +1,105 @@ +From a284a53c5374e19ac37b884f2dd50293e7c8070e Mon Sep 17 00:00:00 2001 +From: Oleksandr Tyshchenko +Date: Sat, 30 Jul 2022 17:18:06 +0300 +Subject: [PATCH 15/16] xen_arm: Initialize RAM and add hi/low memory regions + +In order to use virtio backends we need to initialize RAM for the +xen-mapcache (which is responsible for mapping guest memory using foreign +mapping) to work. Calculate and add hi/low memory regions based on +machine->ram_size. + +Use the constants defined in public header arch-arm.h to be aligned with the +toolstack. + +The toolstack should then pass real ram_size using "-m" arg. +If "-m" is not given, create a QEMU machine without IOREQ, TPM and VIRTIO to +keep it usable for /etc/init.d/xencommons. + +Signed-off-by: Oleksandr Tyshchenko +Signed-off-by: Vikram Garhwal +Reviewed-by: Stefano Stabellini +--- + hw/arm/xen_arm.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 46 insertions(+) + +diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c +index 2012ee7aff..fde919df29 100644 +--- a/hw/arm/xen_arm.c ++++ b/hw/arm/xen_arm.c +@@ -56,6 +56,8 @@ struct XenArmState { + XenIOState *state; + }; + ++static MemoryRegion ram_lo, ram_hi; ++ + #define VIRTIO_MMIO_DEV_SIZE 0x200 + + #define NR_VIRTIO_MMIO_DEVICES \ +@@ -82,6 +84,39 @@ static void xen_create_virtio_mmio_devices(XenArmState *xam) + } + } + ++static void xen_init_ram(MachineState *machine) ++{ ++ MemoryRegion *sysmem = get_system_memory(); ++ ram_addr_t block_len, ram_size[GUEST_RAM_BANKS]; ++ ++ if (machine->ram_size <= GUEST_RAM0_SIZE) { ++ ram_size[0] = machine->ram_size; ++ ram_size[1] = 0; ++ block_len = GUEST_RAM0_BASE + ram_size[0]; ++ } else { ++ ram_size[0] = GUEST_RAM0_SIZE; ++ ram_size[1] = machine->ram_size - GUEST_RAM0_SIZE; ++ block_len = GUEST_RAM1_BASE + ram_size[1]; ++ } ++ ++ memory_region_init_ram(&ram_memory, NULL, "xen.ram", block_len, ++ &error_fatal); ++ ++ memory_region_init_alias(&ram_lo, NULL, "xen.ram.lo", &ram_memory, ++ GUEST_RAM0_BASE, ram_size[0]); ++ memory_region_add_subregion(sysmem, GUEST_RAM0_BASE, &ram_lo); ++ DPRINTF("Initialized region xen.ram.lo: base 0x%llx size 0x%lx\n", ++ GUEST_RAM0_BASE, ram_size[0]); ++ ++ if (ram_size[1] > 0) { ++ memory_region_init_alias(&ram_hi, NULL, "xen.ram.hi", &ram_memory, ++ GUEST_RAM1_BASE, ram_size[1]); ++ memory_region_add_subregion(sysmem, GUEST_RAM1_BASE, &ram_hi); ++ DPRINTF("Initialized region xen.ram.hi: base 0x%llx size 0x%lx\n", ++ GUEST_RAM1_BASE, ram_size[1]); ++ } ++} ++ + void arch_handle_ioreq(XenIOState *state, ioreq_t *req) + { + hw_error("Invalid ioreq type 0x%x\n", req->type); +@@ -155,6 +190,14 @@ static void xen_arm_init(MachineState *machine) + + xam->state = g_new0(XenIOState, 1); + ++ if (machine->ram_size == 0) { ++ DPRINTF("ram_size not specified. QEMU machine will be started without" ++ " TPM, IOREQ and Virtio-MMIO backends\n"); ++ return; ++ } ++ ++ xen_init_ram(machine); ++ + if (xen_init_ioreq(xam->state, machine->smp.cpus)) { + return; + } +@@ -173,6 +216,9 @@ static void xen_arm_machine_class_init(ObjectClass *oc, void *data) + mc->desc = "Xen Para-virtualized PC"; + mc->init = xen_arm_init; + mc->max_cpus = 1; ++ /* Set explicitly here to make sure that real ram_size is passed */ ++ mc->default_ram_size = 0; ++ + machine_class_allow_dynamic_sysbus_dev(mc, TYPE_TPM_TIS_SYSBUS); + } + +-- +2.17.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0016-xen_arm-Add-accel-xen-and-drop-extra-interface-openi.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0016-xen_arm-Add-accel-xen-and-drop-extra-interface-openi.patch new file mode 100644 index 00000000..14f2e240 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0016-xen_arm-Add-accel-xen-and-drop-extra-interface-openi.patch @@ -0,0 +1,79 @@ +From a730d5ea4a0445a8c694b56583dd06bd000fae74 Mon Sep 17 00:00:00 2001 +From: Vikram Garhwal +Date: Wed, 4 Jan 2023 23:05:25 +0000 +Subject: [PATCH 16/16] xen_arm: Add "accel = xen" and drop extra interface + openings + +In order to use virtio backends we need to make sure that Xen accelerator +is enabled (xen_enabled() returns true) as the memory/cache systems +check for xen_enabled() to perform specific actions. Without that +the xen-mapcache (which is needed for mapping guest memory) is not in use. + +Also drop extra interface opening as this is already done in xen-all.c +(so drop xen_init_ioreq() completely) and skip virtio/tpm initialization +if device emulation is not available. + +Signed-off-by: Oleksandr Tyshchenko +Signed-off-by: Vikram Garhwal +Reviewed-by: Stefano Stabellini +--- + hw/arm/xen_arm.c | 29 ++--------------------------- + 1 file changed, 2 insertions(+), 27 deletions(-) + +diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c +index fde919df29..4ac425a3c5 100644 +--- a/hw/arm/xen_arm.c ++++ b/hw/arm/xen_arm.c +@@ -137,30 +137,6 @@ void qmp_xen_set_global_dirty_log(bool enable, Error **errp) + { + } + +-static int xen_init_ioreq(XenIOState *state, unsigned int max_cpus) +-{ +- xen_dmod = xendevicemodel_open(0, 0); +- xen_xc = xc_interface_open(0, 0, 0); +- +- if (xen_xc == NULL) { +- perror("xen: can't open xen interface\n"); +- return -1; +- } +- +- xen_fmem = xenforeignmemory_open(0, 0); +- if (xen_fmem == NULL) { +- perror("xen: can't open xen fmem interface\n"); +- xc_interface_close(xen_xc); +- return -1; +- } +- +- xen_register_ioreq(state, max_cpus, xen_memory_listener); +- +- xenstore_record_dm_state(xenstore, "running"); +- +- return 0; +-} +- + static void xen_enable_tpm(void) + { + #ifdef CONFIG_TPM +@@ -198,9 +174,7 @@ static void xen_arm_init(MachineState *machine) + + xen_init_ram(machine); + +- if (xen_init_ioreq(xam->state, machine->smp.cpus)) { +- return; +- } ++ xen_register_ioreq(xam->state, machine->smp.cpus, xen_memory_listener); + + xen_create_virtio_mmio_devices(xam); + +@@ -218,6 +192,7 @@ static void xen_arm_machine_class_init(ObjectClass *oc, void *data) + mc->max_cpus = 1; + /* Set explicitly here to make sure that real ram_size is passed */ + mc->default_ram_size = 0; ++ mc->default_machine_opts = "accel=xen"; + + machine_class_allow_dynamic_sysbus_dev(mc, TYPE_TPM_TIS_SYSBUS); + } +-- +2.17.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu_%.bbappend b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu_%.bbappend new file mode 100644 index 00000000..3e93710c --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu_%.bbappend @@ -0,0 +1,5 @@ +require qemu-tpm.inc +require qemu-xen.inc + +# We do not want QEMU, on the target to be configured with OpenGL +PACKAGECONFIG:remove:class-target:petalinux = "virglrenderer epoxy gtk+" -- cgit v1.2.3-54-g00ecf From 157a47e1ee270793fbaba3368bf62a0f26e3ffe1 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Wed, 3 Jan 2024 19:51:31 -0700 Subject: xorg-xserver: Move xen variables from petalinux layer Move xen xorg-xserver config variables from meta-petalinux to meta-xilinx-virtualization layer. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- .../recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 meta-xilinx-virtualization/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend diff --git a/meta-xilinx-virtualization/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend b/meta-xilinx-virtualization/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend new file mode 100644 index 00000000..298b1dc8 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend @@ -0,0 +1,8 @@ +# See meta-virtualization recipes-graphics/xorg-xserver/xserver-xorg_xen.inc + +# We want the configuration to remain optimized, if a user wants the removal +# behavior, then they can set one of the below using 'glamor' as in the +# xserver-xorg_xen.inc file. +XEN_REMOVED_OPENGL_PKGCONFIGS:zynqmp ?= "" +XEN_REMOVED_OPENGL_PKGCONFIGS:versal ?= "" + -- cgit v1.2.3-54-g00ecf From 8bbbc41cd804127527e555622fa54257be2544b0 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Wed, 3 Jan 2024 19:51:32 -0700 Subject: layer.conf: Add security and tpm-layer dependency vitrualization layer depends on security and tpm-layer so add these layes to xilinx-virtualization LAYERDEPENDS. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- meta-xilinx-virtualization/conf/layer.conf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-xilinx-virtualization/conf/layer.conf b/meta-xilinx-virtualization/conf/layer.conf index a9906372..5b648025 100644 --- a/meta-xilinx-virtualization/conf/layer.conf +++ b/meta-xilinx-virtualization/conf/layer.conf @@ -12,6 +12,8 @@ BBFILE_PRIORITY_xilinx-virtualization = "5" LAYERDEPENDS_xilinx-virtualization = "\ xilinx \ virtualization-layer \ + security \ + tpm-layer \ " LAYERSERIES_COMPAT_xilinx-virtualization = "langdale" -- cgit v1.2.3-54-g00ecf From 6839677f67360f3c1bd23eb907c232d809f4f446 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Wed, 3 Jan 2024 19:51:33 -0700 Subject: README.md: Add Xen build and boot instructions Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- meta-xilinx-virtualization/README.md | 116 ++++++++++++++++++++++++++++++++++- 1 file changed, 115 insertions(+), 1 deletion(-) diff --git a/meta-xilinx-virtualization/README.md b/meta-xilinx-virtualization/README.md index 9bdaf057..ad6d4ada 100644 --- a/meta-xilinx-virtualization/README.md +++ b/meta-xilinx-virtualization/README.md @@ -3,6 +3,116 @@ This layer enables AMD Xilinx Xen configurations and features for ZynqMP and Versal devices and also provides related metadata. +## Xen Build Instructions + +The Yocto Project setup for AMD Xilinx Xen configurations workflow is as follows. +Be sure to read everything below. + +1. Follow [Building Instructions](../README.building.md) upto step 2. + +2. Clone the meta-security repository. + +``` +$ git clone -b https://git.yoctoproject.org/meta-security +``` + +3. Continue [Building Instructions](../README.building.md) from step 4. + +> **Note:** +> * For System Device Tree(SDT) workflow see [SDT Building Instructions](../meta-xilinx-standalone-experimental/README.md) + +4. Add meta-xilinx-virtualization layer to bblayers.conf as shown below. + +``` +$ bitbake-layers add-layer .//meta-xilinx/meta-xilinx-virtualization +``` + +5. The following variables needs to be added to the end of the conf/local.conf file. + +``` +# Xen variables +BOOTMODE = "xen" +ENABLE_XEN_UBOOT_SCR = "1" +ENABLE_XEN_DTSI = "1" +ENABLE_XEN_QEMU_DTSI = "1" + +DISTRO_FEATURES:append = " multiarch security tpm virtualization vmsep xen" + +IMAGE_FEATURES += "ssh-server-openssh" + +DISTRO_FEATURES:append = " systemd" +VIRTUAL-RUNTIME_init_manager = "systemd" +DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit" + +IMAGE_INSTALL:append = " \ + kernel-module-xen-blkback \ + kernel-module-xen-gntalloc \ + kernel-module-xen-gntdev \ + kernel-module-xen-netback \ + kernel-module-xen-wdt \ + xen \ + xen-tools \ + xen-tools-xenstat \ + ${@bb.utils.contains('DISTRO_FEATURES', 'vmsep', 'qemu-aarch64 qemu-keymaps', 'qemu', d)} \ + " +``` + +6. Continue [Building Instructions](../README.building.md) from step 5. + +## Xen Boot Instructions + +> **Note:** +> * This README provides instructions for Xen Dom0 only. + +1. Follow [Booting Instructions](../README.booting.md) upto step 2. + +2. Verify Xen Dom0 is up and running on QEMU or target as shown below. + +``` +Poky (Yocto Project Reference Distro) 4.1.4 zynqmp-generic hvc0 + +zynqmp-generic login: root +root@zynqmp-generic:~# xl list +Name ID Mem VCPUs State Time(s) +Domain-0 0 1500 1 r----- 123.5 +root@zynqmp-generic:~# xl info +host : zynqmp-generic +release : 6.1.0-xilinx-v2024.1 +version : #1 SMP Thu Dec 21 07:00:11 UTC 2023 +machine : aarch64 +nr_cpus : 4 +max_cpu_id : 3 +nr_nodes : 1 +cores_per_socket : 1 +threads_per_core : 1 +cpu_mhz : 99.990 +hw_caps : 00000000:00000000:00000000:00000000:00000000:00000000:00000000:00000000 +virt_caps : hvm hvm_directio hap iommu_hap_pt_share vpmu gnttab-v1 +total_memory : 4095 +free_memory : 2529 +sharing_freed_memory : 0 +sharing_used_memory : 0 +outstanding_claims : 0 +free_cpus : 0 +xen_major : 4 +xen_minor : 17 +xen_extra : .0 +xen_version : 4.17.0 +xen_caps : xen-3.0-aarch64 xen-3.0-armv7l +xen_scheduler : credit2 +xen_pagesize : 4096 +platform_params : virt_start=0x200000 +xen_changeset : Tue Dec 12 10:08:40 2023 +0100 git:38eebc6e5c-dirty +xen_commandline : console=dtuart dtuart=serial0 dom0_mem=1500M dom0_max_vcpus=1 bootscrub=0 vwfi=native +cc_compiler : aarch64-poky-linux-gcc (GCC) 12.2.0 +cc_compile_by : santraju +cc_compile_domain : +cc_compile_date : 2023-12-12 +build_id : 5e2952e1dd06c52a2a09ada7476333c48d88a285 +xend_config_format : 4 +root@zynqmp-generic:~# +``` + ## Dependencies This layer depends on: @@ -26,4 +136,8 @@ This layer depends on: URI: https://git.yoctoproject.org/meta-security layers: meta-tpm - branch: langdale \ No newline at end of file + branch: langdale + +## References + +* https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842530/Xen+Hypervisor -- cgit v1.2.3-54-g00ecf From 2b4caf8e4fa8039a59564758628c4024a6055639 Mon Sep 17 00:00:00 2001 From: saumya garg Date: Thu, 4 Jan 2024 11:18:48 +0530 Subject: xrt, zocl: Update commit id Changelog: Initial HIP binding build support using headers from standard HIP install (#7867) Initial Zocl Changes (#7868) P1 - Initial changes for removal of xcl apis (#7860) Mantic (#7864) EDGEML-7018 Error during static global destruction (#7865) VITIS-10999 Prevent display of power data if no power sensor data is present (#7862) Update dependency installation, build and packaging scripts for AlmaLinux9 (#7861) Signed-off-by: saumya garg Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-xrt/xrt/xrt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc index 19c20147..403577b3 100644 --- a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc @@ -3,7 +3,7 @@ BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != ' SRC_URI = "${REPO};${BRANCHARG};name=xrt" BRANCH= "master" -SRCREV_xrt = "065eb631e66ab4a5fe912e1c60d72b46a174613b" +SRCREV_xrt = "d41edcab61de15f5216415e3d2841d5238f3994a" PV = "202320.2.16.0" SRC_URI += "git://github.com/Xilinx/dma_ip_drivers.git;branch=master;name=dma_ip_drivers;destsuffix=git/src/runtime_src/core/pcie/driver/linux/xocl/lib/libqdma;protocol=https" -- cgit v1.2.3-54-g00ecf From dd3ecf29a7964dfd1bcf5862d813906ebfe569c5 Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Fri, 5 Jan 2024 12:46:16 +0530 Subject: Updated SRCREV of vcu-modules for 2024.1_5787 VCU: make driver compatible with 6.6 kernel version Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb index 585dd629..35dffb16 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb @@ -13,7 +13,7 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/files:" BRANCH = "master" REPO = "git://github.com/Xilinx/vcu-modules.git;protocol=https" -SRCREV = "51f22c517a2c58fef4f358ffaac3e159692c5ee7" +SRCREV = "2ae83fc79f8a2db74be65883583cc6ad32d245e5" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = " \ -- cgit v1.2.3-54-g00ecf From 0b00f2e1e2bf46d6472cdb561293e1d7dde153b4 Mon Sep 17 00:00:00 2001 From: Appana Durga Kedareswara rao Date: Fri, 5 Jan 2024 12:17:50 +0530 Subject: common: Create the meta-data directly in the component source folder Run lopper comamnds inside component source folder itself. Signed-off-by: Appana Durga Kedareswara rao Signed-off-by: Mark Hatle --- .../recipes-drivers/common_2024.1.bb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/common_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/common_2024.1.bb index 40d2a1ae..10635f7f 100644 --- a/meta-xilinx-standalone-experimental/recipes-drivers/common_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-drivers/common_2024.1.bb @@ -17,9 +17,9 @@ ESW_COMPONENT_SRC = "/lib/bsp/standalone/src/common/intr/" ESW_COMPONENT_NAME = "libcommon.a" do_configure:prepend() { + ( + cd ${S}/${ESW_COMPONENT_SRC}/ LOPPER_DTC_FLAGS="-b 0 -@" lopper ${DTS_FILE} -- baremetalconfig_xlnx.py ${ESW_MACHINE} ${S}/XilinxProcessorIPLib/drivers/intc/src/ LOPPER_DTC_FLAGS="-b 0 -@" lopper ${DTS_FILE} -- baremetalconfig_xlnx.py ${ESW_MACHINE} ${S}/XilinxProcessorIPLib/drivers/scugic/src/ - if [ -f *.cmake ]; then - install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ - fi + ) } -- cgit v1.2.3-54-g00ecf From 59ab85e752b0cf5fa9234ac353a7bd60f484b56f Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Tue, 9 Jan 2024 12:30:10 +0530 Subject: Updated Commit ID lib: multiconfigs: Generate the Linux device tree using Lopper gen_domain_dts assist Signed-off-by: Siva Addepalli --- meta-xilinx-core/gen-machine-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf index 4ae7f056..3867c15a 160000 --- a/meta-xilinx-core/gen-machine-conf +++ b/meta-xilinx-core/gen-machine-conf @@ -1 +1 @@ -Subproject commit 4ae7f05658c8f103d7eeb653b9e532a94161edad +Subproject commit 3867c15a46b39ee124a53cf1f2ee695759466c9d -- cgit v1.2.3-54-g00ecf From 4bbdb2e51b07eb0bf99bc2de1b40a79f35bbe5e9 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 9 Jan 2024 15:48:27 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_8203 dp21txss: Add support for multi-interrupts dp21rxss: Add support for multi interrupts dp14txss: zcu_pt_dp14_mst: Update DisplayPort Subsystem interrupt registration dp14txss: pt_only: Update DisplayPort Subsystem interrupt registration vphy: Update axi clock frequency structure entity parameter dp14txss: tx_only: Update DisplayPort Subsystem interrupt registration dp14txss: kcu_dp14: Update DisplayPort Subsystem interrupt registration dp14txss: Add Multiple interrupt support for new system device-tree flow dp14rxss: rx_only:Add system device-tree support for application example dp14rxss: Add Multiple interrupt support for new system device-tree flow sw_services: xilpm: versal_common: Deprecate IOCTL_PROBE_COUNTER_READ/WRITE xilpki: Fix security issues relevant to instance pointer NULL check xilpki: Fix error handling issues exists with XPki_DeQueueData() API lib: standalone: Fixed source code-format issue. lib: standalone: Update cmake files to support SDT flow lib: standalone: ported examples for SDT flow zynqmp_pmufw: remove unwanted code from PmKillBoardPower() scugic: Fixed source code-format issue. scugic: ported driver examples for SDT flow. --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 6ab7d79c..130fd30d 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "c560223123ddaf8b953b72b9b162510fb7d24310" +ESW_REV[2024.1] = "20ab6e9698b504be178057b76a527b0125b5729a" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 930d33e0a01dc64b266f836368f7c0f5c5c84247 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 10 Jan 2024 14:33:42 +0530 Subject: arm-trusted-firmware : Updated SRCREV for 2024.1_8063 refactor(xilinx): move plat_get_syscnt_freq2 to common file refactor(versal-net): rename VERSAL_NET_IOU_SCNTRS register to generic fix(versal-net): setup counter frequency fix(versal): initialize cntfrq_el0 register --- .../recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb index 744785ac..693dca9c 100644 --- a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb +++ b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb @@ -1,5 +1,5 @@ ATF_VERSION = "2.10" -SRCREV = "0f426a14b51a58f6af0e11497769962464182994" +SRCREV = "5a127e5e428ac562d1b6490840fd99109b678f44" BRANCH = "xlnx_rebase_v2.10" LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031" -- cgit v1.2.3-54-g00ecf From 9454113f984a7843ed87e4701fb704eea1cab9c9 Mon Sep 17 00:00:00 2001 From: Hibitha B Raj Date: Mon, 8 Jan 2024 03:08:33 -0800 Subject: Updated SRCREV of vdu-firmware for 2024.1 Signed-off-by: Hibitha B Raj Signed-off-by: Sandeep Gundlupet Raju --- meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb index a38d2919..0065c5c0 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb @@ -15,7 +15,7 @@ REQUIRED_MACHINE_FEATURES = "vdu" BRANCH ?= "master" REPO ?= "git://github.com/Xilinx/vdu-firmware.git;protocol=https" -SRCREV ?= "63fe2fce6e46d5bf03e33300a58a37d8568722ee" +SRCREV ?= "7d7cd0b08ab875a3fdcbb0335de734e8b82102f3" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" -- cgit v1.2.3-54-g00ecf From 44252ae5003fff07708044414048299744b5f3e1 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Mon, 8 Jan 2024 17:15:38 -0700 Subject: lopper: Update SRCREV for 2024.1 Changelogs: lopper: assists: gen_domain_dts: fix race condition in the size cells handling lops: openamp: Update lops to be scalable for Linux boot with latest Lopper outputs lopper: assists: baremetal_gentestapp_xlnx: make the Interrupt Controller example as the primary example Signed-off-by: Sandeep Gundlupet Raju --- .../virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend index fa7322c3..41b0fbcd 100644 --- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend @@ -1,5 +1,5 @@ SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=master;protocol=https" -SRCREV = "52d33108567ed634be531038065a5edb9534eeab" +SRCREV = "358e798788b3af8ac979fa68c690486069a8b774" FILESEXTRAPATHS:prepend := "${THISDIR}/lopper:" -- cgit v1.2.3-54-g00ecf From 2343f75e4cf5842deb4fa7dfa05286534ea9bb98 Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Tue, 9 Jan 2024 12:47:46 +0530 Subject: Updated SRCREV of vdu-modules for 2024.1_7259 VDU: make driver compatible with 6.6 kernel version Signed-off-by: Sandeep Gundlupet Raju --- meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb index d20db971..025c33d8 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb @@ -13,7 +13,7 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/files:" BRANCH ?= "master" REPO ?= "git://github.com/Xilinx/vdu-modules.git;protocol=https" -SRCREV ?= "c03614079b9877cb41a24e69b62d5292265a1f14" +SRCREV ?= "1529b6aaf784fb5e1cafb11c949c3cb3c69d1dfd" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG} \ -- cgit v1.2.3-54-g00ecf From 9d1baaf488496ab540dc227e1b4204285960e1e2 Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Thu, 11 Jan 2024 12:30:10 +0530 Subject: Updated Commit ID lib: multiconfigs: Use enhanced option in RunLopperPlOverlaycommand() API README.md: Update parse-sdt help usage multiconfigs.py: Update lopper xlnx overlay dt commands sdt_flow.py: Add gen-pl-overlay args Signed-off-by: Siva Addepalli --- meta-xilinx-core/gen-machine-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf index 3867c15a..c9664abb 160000 --- a/meta-xilinx-core/gen-machine-conf +++ b/meta-xilinx-core/gen-machine-conf @@ -1 +1 @@ -Subproject commit 3867c15a46b39ee124a53cf1f2ee695759466c9d +Subproject commit c9664abb63e888f64345d85866a198befbaa2463 -- cgit v1.2.3-54-g00ecf From b0c4b621659b68f12f64e9cd057030e2c9c42cdc Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 11 Jan 2024 12:54:50 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_3303 sw_apps:zynqmp_fsbl:XFsbl_PollTimeout function-behaviour correction sw_apps :zynqmp_fsbl: Versionless build failure fix sw_apps :zynq_fsbl: Versionless build failure fix sw_apps:versal_plm: versionless warning fix sw_apps:imgsel: versionless warning fix sw_apps:img_rcvry: versionless build failure fix ospipsv: Add support for is25lx512m issi flash part ospipsv: Update AMD Copyright year from 2023 to 2024 axipmon: Add support for compiling driver examples in Yocto flow axipmon: Increment driver version --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 130fd30d..122261f6 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "20ab6e9698b504be178057b76a527b0125b5729a" +ESW_REV[2024.1] = "a5d03dbd5a02d6bfca2e22adefbdb34742f6e55a" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 40d2d8067b2c2e69ae939aea3f5046597016027a Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 11 Jan 2024 15:09:20 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_5943 arm64: versal: Move ethernet phys to mdio node arm64: dtsi: update interrupts and interrupt-names for usb arm64: xilinx: Remove multiple blank lines from DTSes arm64: zynqmp: Replace - by _ in fclk clock nodes --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index 2cf5ca4c..ba814bd4 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2023.01" UBRANCH = "master" -SRCREV = "6e81b6ca3c01643eadf228aaa3b7893d06ca9270" +SRCREV = "695bea48fc8367567058782fe3b936d8aa6bebd8" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From ee7b37dc8b763019eb2757bde0cd856645d7af97 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 11 Jan 2024 15:20:48 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_8539 xilpm: versal_net: server: increase the ByteBuffer size v_hdmitxss: Add support for SDT flow v_hdmitx: Add support for SDT flow v_hdmiphy1: Fix speedgrade member in XHdmiphy1_Config structure can: Add support for compiling driver examples in Yocto flow nandps: src: Move stack based BBT array to global instance to avoid stack overflow nandps: Update AMD Copyright year from 2023 to 2024 nandps: data: Update the driver version VPSS App issue: Fixed application for rigel flow on all boards --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 122261f6..00fba5ed 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "a5d03dbd5a02d6bfca2e22adefbdb34742f6e55a" +ESW_REV[2024.1] = "a542390a52dfd4a3c9ae13a39ae8711428dfdea5" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 7454ef6506c5c91ce462d746f50c427e8a72dd99 Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Fri, 12 Jan 2024 12:30:11 +0530 Subject: Updated Commit ID Remove clk_ignore_unused from generated configs lib:kconfig_syshw.py: Python module to create Kconfig.syshw sdt-description.tcl: Move sdt-description.tcl into python Signed-off-by: Siva Addepalli --- meta-xilinx-core/gen-machine-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf index c9664abb..3a3c34de 160000 --- a/meta-xilinx-core/gen-machine-conf +++ b/meta-xilinx-core/gen-machine-conf @@ -1 +1 @@ -Subproject commit c9664abb63e888f64345d85866a198befbaa2463 +Subproject commit 3a3c34de1c9ad46e49db2670620a6757b67e3771 -- cgit v1.2.3-54-g00ecf From b9b1b81fa7f309e9ddabdfc4866f6da420897c86 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 12 Jan 2024 15:54:16 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_5259 ipipsu: Add support for compiling driver examples in Yocto flow hdmirxss: Update SDT flow in PassThrough example application canfd: Add support for compiling driver examples in Yocto flow canfd: Increment driver version xilpm:vesal_net: Save and restore gic proxy groups sw_services:xilnvm: Program the eFuse protection bits only once versal_psmfw: versal_net: fix warnings --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 00fba5ed..b16804ec 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "a542390a52dfd4a3c9ae13a39ae8711428dfdea5" +ESW_REV[2024.1] = "13df7fae89494dfac77afd93580a9effdc1e356a" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 53db81275fff72808ba655f7c1e0ab17e7c8e869 Mon Sep 17 00:00:00 2001 From: Appana Durga Kedareswara rao Date: Thu, 11 Jan 2024 11:08:19 +0530 Subject: lopper: Update srcrev for 2024.1 lopper: assists: xlnx_overlay_dt: Update the interrupt-parent references in pl.dtsi lopper: assists: gen_domain_dts: Update symbol node gic entries as per latest change lopper: assists: gen_domain_dts: Fix race condition for pl microblaze based system device-tree lopper: assists: gen_domain_dts: Update comments lopper: assists: baremetalconfig_xlnx: Don't generate config file when it is not needed assists: bmcmake_metadata_xlnx: Add check for interrupt property lopper: assists: xlnx_overlay_dt: Add outdir support for pl.dtsi generation Signed-off-by: Appana Durga Kedareswara rao Signed-off-by: Mark Hatle --- .../virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend index 41b0fbcd..4ec9050d 100644 --- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend @@ -1,5 +1,5 @@ SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=master;protocol=https" -SRCREV = "358e798788b3af8ac979fa68c690486069a8b774" +SRCREV = "6b68ec5eff078d054ab50c4718f6d3408ed51886" FILESEXTRAPATHS:prepend := "${THISDIR}/lopper:" -- cgit v1.2.3-54-g00ecf From fd91636f7ef30defbd9ae72d86bf61cefeb50bb2 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Thu, 11 Jan 2024 12:15:07 -0700 Subject: soc-tune-include.inc: Enable tune files for Cortex-R52 processor Enable tune files for Cortex-R52 processor. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/machine/include/soc-tune-include.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-xilinx-core/conf/machine/include/soc-tune-include.inc b/meta-xilinx-core/conf/machine/include/soc-tune-include.inc index f7484c48..8f650a10 100644 --- a/meta-xilinx-core/conf/machine/include/soc-tune-include.inc +++ b/meta-xilinx-core/conf/machine/include/soc-tune-include.inc @@ -3,6 +3,7 @@ DEFAULTTUNE ??= "armv8a" # Unfortunately various tunefiles don't include each other, so create # a list of things to require based on the DEFAULTTUNE setting. TUNEFILE[cortexr5] = "conf/machine/include/arm/armv7r/tune-cortexr5.inc" +TUNEFILE[cortexr52] = "conf/machine/include/arm/armv8r/tune-cortexr52.inc" TUNEFILE[cortexa9thf-neon] = "conf/machine/include/arm/armv7a/tune-cortexa9.inc" TUNEFILE[armv8a] = "conf/machine/include/arm/arch-armv8a.inc" TUNEFILE[cortexa53] = "conf/machine/include/arm/armv8a/tune-cortexa53.inc" -- cgit v1.2.3-54-g00ecf From f3236528e124ff16b8300a749b1313392e16bb2c Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Thu, 11 Jan 2024 14:46:54 -0700 Subject: device-tree: Fix string trailing character strip issue Multiconfig freertos device-tree do configure task fails with below errors: ERROR: mc:cortexa53-0-zynqmp-freertos:device-tree-1.0-r0 do_configure: Unable to find cortexa53-0-zynqmp-freerto.dts, to use EXTRA_OVERLAYS you must set a valid CONFIG_DTFILE or use system-top.dts ERROR: mc:cortexa53-0-zynqmp-freertos:device-tree-1.0-r0 do_configure: ExecutionError('/scratch/sandeep/yocto/2024.1/yp-dev/build-sdt/tmp-cortexa53-0-zynqmp-freertos/work/xlnx_zynqmp_zcu102_rev1_0-xilinx-elf/device-tree/1.0-r0/temp/run.do_configure.3127586', 1, None, None) ERROR: Logfile of failure stored in: /scratch/sandeep/yocto/2024.1/yp-dev/build-sdt/tmp-cortexa53-0-zynqmp-freertos/work/xlnx_zynqmp_zcu102_rev1_0-xilinx-elf/device-tree/1.0-r0/temp/log.do_configure.3127586 ERROR: Task (mc:cortexa53-0-zynqmp-freertos:/scratch/sandeep/yocto/2024.1/yp-dev/sources/poky/../meta-xilinx/meta-xilinx-core/recipes-bsp/device-tree/device-tree.bb:do_configure) failed with exit code '1' NOTE: Tasks Summary: Attempted 851 tasks of which 769 didn't need to be rerun and 1 failed. Using python rstrip operations it will strip all the combinations of its values. For example in below code BASE_DTS ?= "${@os.path.basename(d.getVar('CONFIG_DTFILE') or '').rstrip('.dtb').rstrip('.dts') or 'system-top'}" if CONFIG_DTFILE name is cortexa53-0-zynqmp-baremetald or cortexa53-0-zynqmp-freertos resulting output with rstrip will be cortexa53-0-zynqmp-baremetal cortexa53-0-zynqmp-freerto Hence instead of using rstrip use os.path.splitext to remove .dtb or .dts extension from file name. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-bsp/device-tree/device-tree.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/device-tree/device-tree.bb b/meta-xilinx-core/recipes-bsp/device-tree/device-tree.bb index 8d7211f5..1f8ae2e3 100644 --- a/meta-xilinx-core/recipes-bsp/device-tree/device-tree.bb +++ b/meta-xilinx-core/recipes-bsp/device-tree/device-tree.bb @@ -23,7 +23,7 @@ inherit devicetree image-artifact-names SYSTEM_DTFILE ??= "" CONFIG_DTFILE ??= "${SYSTEM_DTFILE}" -BASE_DTS ?= "${@os.path.basename(d.getVar('CONFIG_DTFILE') or '').rstrip('.dtb').rstrip('.dts') or 'system-top'}" +BASE_DTS ?= "${@os.path.splitext(os.path.basename(d.getVar('CONFIG_DTFILE') or ''))[0] or 'system-top'}" EXTRA_DT_FILES ?= "" EXTRA_DTFILE_PREFIX ?= "system-top" -- cgit v1.2.3-54-g00ecf From 5c02246de75d7736a6e3212d3d9628d4c9568c7b Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Thu, 11 Jan 2024 14:46:55 -0700 Subject: u-boot-xlnx: Fix string trailing character strip issue Using python rstrip operations it will strip all the combinations of its values. For example in below code BASE_DTS ?= "${@os.path.basename(d.getVar('CONFIG_DTFILE') or '').rstrip('.dtb').rstrip('.dts') or 'system-top'}" if CONFIG_DTFILE name is cortexa53-0-zynqmp-baremetald or cortexa53-0-zynqmp-freertos resulting output with rstrip will be cortexa53-0-zynqmp-baremetal cortexa53-0-zynqmp-freerto Hence instead of using rstrip use os.path.splitext to remove .dtb or .dts extension from file name. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx.inc index 4c7ea934..bd9711f5 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx.inc @@ -7,7 +7,7 @@ require u-boot-xlnx-common.inc SYSROOT_DIRS += "/boot" -BASE_DTS ?= "${@os.path.basename(d.getVar('CONFIG_DTFILE') or '').rstrip('.dtb').rstrip('.dts') or 'system-top'}" +BASE_DTS ?= "${@os.path.splitext(os.path.basename(d.getVar('CONFIG_DTFILE') or ''))[0] or 'system-top'}" DTB_PATH ?= "boot/devicetree/" DTB_FILE_NAME ?= "" -- cgit v1.2.3-54-g00ecf From 3452295d3cc1b9128ad5a829bbc325fc83101e7e Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Tue, 16 Jan 2024 12:30:11 +0530 Subject: Updated Commit ID gen-machineconf: Add CLI option(--add-config) to update system configuration Signed-off-by: Siva Addepalli --- meta-xilinx-core/gen-machine-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf index 3a3c34de..20693b70 160000 --- a/meta-xilinx-core/gen-machine-conf +++ b/meta-xilinx-core/gen-machine-conf @@ -1 +1 @@ -Subproject commit 3a3c34de1c9ad46e49db2670620a6757b67e3771 +Subproject commit 20693b701965bf46ee20f7ae7e90d4cade8b13d7 -- cgit v1.2.3-54-g00ecf From 2c44c115a6973cf4b4877b217e03fe9f510ff4bf Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Thu, 11 Jan 2024 16:42:15 -0600 Subject: linux-xlnx_2024.1: Add work for kernel do_install issue kernel_do_install task fails with 6.6 kernel with below errors: | DEPMOD /scratch1/sandeep/yocto/2024.1/yp-dev/build-zynqmp/tmp/work/zynqmp_generic-xilinx-linux/linux-xlnx/6.6.0-xilinx-v2024.1+gitAUTOINC+340eed5001-r0/image/lib/modules/6.6.0-xilinx-v2024.1-g340eed500130 | -ae -F System.map 6.6.0-xilinx-v2024.1-g340eed500130 | rm: cannot remove '/scratch1/sandeep/yocto/2024.1/yp-dev/build-zynqmp/tmp/work/zynqmp_generic-xilinx-linux/linux-xlnx/6.6.0-xilinx-v2024.1+gitAUTOINC+340eed5001-r0/image/lib/modules/6.6.0-xilinx-v2024.1-g340eed500130/source': No such file or directory | WARNING: /scratch1/sandeep/yocto/2024.1/yp-dev/build-zynqmp/tmp/work/zynqmp_generic-xilinx-linux/linux-xlnx/6.6.0-xilinx-v2024.1+gitAUTOINC+340eed5001-r0/temp/run.do_install.609800:186 exit 1 from 'rm "/scratch1/sandeep/yocto/2024.1/yp-dev/build-zynqmp/tmp/work/zynqmp_generic-xilinx-linux/linux-xlnx/6.6.0-xilinx-v2024.1+gitAUTOINC+340eed5001-r0/image/lib/modules/6.6.0-xilinx-v2024.1-g340eed500130/source"' Scarthgap already has code to make the 'rm' operation condition of existence, so this code will not be needed there. Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index 5a34fc45..a54156ae 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -9,3 +9,11 @@ KCONF_AUDIT_LEVEL="0" include linux-xlnx.inc FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" + +# Workaround for: +# rm: cannot remove '.../tmp/work/zynqmp_generic-xilinx-linux/linux-xlnx/6.6.0-xilinx-v2024.1+gitAUTOINC+340eed5001-r0/image/lib/modules/6.6.0-xilinx-v2024.1-g340eed500130/source': No such file or directory +# This will not be required Scarthgap +kernel_do_install:prepend () { + mkdir -p "${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}" + touch "${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}/source" +} -- cgit v1.2.3-54-g00ecf From ef691fd9558e536984295cad2dbb91148a8c60b2 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Thu, 11 Jan 2024 11:43:14 -0700 Subject: linux-xlnx_2024.1: Move 2024.1 version to Linux 6.6.0 1. Move 2024.1 version to Linux 6.6.0 2. Update yocto-kernel-cache to upstream yocto-6.6 version. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index a54156ae..f038f7e2 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,8 +1,8 @@ -LINUX_VERSION = "6.1.0" -YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.1;destsuffix=yocto-kmeta" +LINUX_VERSION = "6.6.0" +YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.6;destsuffix=yocto-kmeta" KBRANCH="master" -SRCREV = "5928e9762d9bd76b32521147b42a4102a7a6cb33" -SRCREV_meta = "185bcfcbe480c742247d9117011794c69682914f" +SRCREV = "340eed500130362bebb22ca604e3025ceddcc758" +SRCREV_meta = "5d0809d0d939c7738cb6e5391126c73fd0e4e865" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From ea11906ff5a86873771ce10ec528845486a07372 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Sat, 13 Jan 2024 08:56:47 -0700 Subject: perf: Update perf to work with Linux 6.6 Update perf to match Yocto project master. This requires both libtraceevent and the updated perf integration. This version was taking from Poky master commit: 61182659c212db24e52cdbcdbb043c7b0de86094 Signed-off-by: Mark Hatle --- .../libtraceevent/libtraceevent/meson.patch | 74 ++++ .../libtraceevent/libtraceevent_1.7.3.bb | 23 ++ meta-xilinx-core/recipes-kernel/perf/perf-perl.inc | 11 + meta-xilinx-core/recipes-kernel/perf/perf.bb | 414 +++++++++++++++++++++ .../recipes-kernel/perf/perf/sort-pmuevents.py | 100 +++++ 5 files changed, 622 insertions(+) create mode 100644 meta-xilinx-core/recipes-kernel/libtraceevent/libtraceevent/meson.patch create mode 100644 meta-xilinx-core/recipes-kernel/libtraceevent/libtraceevent_1.7.3.bb create mode 100644 meta-xilinx-core/recipes-kernel/perf/perf-perl.inc create mode 100644 meta-xilinx-core/recipes-kernel/perf/perf.bb create mode 100755 meta-xilinx-core/recipes-kernel/perf/perf/sort-pmuevents.py diff --git a/meta-xilinx-core/recipes-kernel/libtraceevent/libtraceevent/meson.patch b/meta-xilinx-core/recipes-kernel/libtraceevent/libtraceevent/meson.patch new file mode 100644 index 00000000..38b61071 --- /dev/null +++ b/meta-xilinx-core/recipes-kernel/libtraceevent/libtraceevent/meson.patch @@ -0,0 +1,74 @@ +Fixes for the Meson build of libtraceevent: + +- Make the plugin directory the same as the Makefiles +- Install the plugins as modules not static and versioned shared libraries +- Add an option to disable building the documentation (needs asciidoc and xmlto) + +Upstream-Status: Pending +Signed-off-by: Ross Burton + +diff --git a/meson.build b/meson.build +index b61c873..4bba4d8 100644 +--- a/meson.build ++++ b/meson.build +@@ -25,7 +25,7 @@ htmldir = join_paths(prefixdir, get_option('htmldir')) + libdir = join_paths(prefixdir, get_option('libdir')) + plugindir = get_option('plugindir') + if plugindir == '' +- plugindir = join_paths(libdir, 'libtraceevent/plugins') ++ plugindir = join_paths(libdir, 'traceevent/plugins') + endif + + add_project_arguments( +@@ -45,10 +45,13 @@ if cunit_dep.found() + subdir('utest') + endif + subdir('samples') +-subdir('Documentation') + +-custom_target( +- 'docs', +- output: 'docs', +- depends: [html, man], +- command: ['echo']) ++if get_option('docs') ++ subdir('Documentation') ++ ++ custom_target( ++ 'docs', ++ output: 'docs', ++ depends: [html, man], ++ command: ['echo']) ++endif +diff --git a/meson_options.txt b/meson_options.txt +index b2294f6..0611216 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -4,6 +4,10 @@ + + option('plugindir', type : 'string', + description : 'set the plugin dir') ++ ++option('docs', type : 'boolean', value: true, ++ description : 'build documentation') ++ + option('htmldir', type : 'string', value : 'share/doc/libtraceevent-doc', + description : 'directory for HTML documentation') + option('asciidoctor', type : 'boolean', value: false, +diff --git a/plugins/meson.build b/plugins/meson.build +index 74ad664..4919be4 100644 +--- a/plugins/meson.build ++++ b/plugins/meson.build +@@ -19,11 +19,10 @@ plugins = [ + + pdeps = [] + foreach plugin : plugins +- pdeps += library( ++ pdeps += shared_module( + plugin.replace('.c', ''), + plugin, + name_prefix: '', +- version: library_version, + dependencies: [libtraceevent_dep], + include_directories: [incdir], + install: true, diff --git a/meta-xilinx-core/recipes-kernel/libtraceevent/libtraceevent_1.7.3.bb b/meta-xilinx-core/recipes-kernel/libtraceevent/libtraceevent_1.7.3.bb new file mode 100644 index 00000000..bee78918 --- /dev/null +++ b/meta-xilinx-core/recipes-kernel/libtraceevent/libtraceevent_1.7.3.bb @@ -0,0 +1,23 @@ +# Copyright (C) 2022 Khem Raj +# Released under the MIT license (see COPYING.MIT for the terms) + +SUMMARY = "API to access the kernel tracefs directory" +HOMEPAGE = "https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/" +LICENSE = "GPL-2.0-or-later & LGPL-2.1-or-later" +LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=e6a75371ba4d16749254a51215d13f97 \ + file://LICENSES/LGPL-2.1;md5=b370887980db5dd40659b50909238dbd" +SECTION = "libs" + +SRCREV = "dd148189b74da3e2f45c7e536319fec97cb71213" +SRC_URI = "git://git.kernel.org/pub/scm/libs/libtrace/libtraceevent.git;branch=${BPN};protocol=https \ + file://meson.patch" + +S = "${WORKDIR}/git" + +inherit meson pkgconfig + +EXTRA_OEMESON = "-Ddocs=false" + +PACKAGES += "${PN}-plugins" + +FILES:${PN}-plugins += "${libdir}/traceevent/plugins" diff --git a/meta-xilinx-core/recipes-kernel/perf/perf-perl.inc b/meta-xilinx-core/recipes-kernel/perf/perf-perl.inc new file mode 100644 index 00000000..491f54c3 --- /dev/null +++ b/meta-xilinx-core/recipes-kernel/perf/perf-perl.inc @@ -0,0 +1,11 @@ +inherit perlnative cpan-base + +# Env var which tells perl if it should use host (no) or target (yes) settings +export PERLCONFIGTARGET = "${@is_target(d)}" +export PERL_INC = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/${@get_perl_version(d)}/${@get_perl_arch(d)}/CORE" +export PERL_LIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/${@get_perl_version(d)}" +export PERL_ARCHLIB = "${STAGING_LIBDIR}${PERL_OWN_DIR}/perl5/${@get_perl_version(d)}/${@get_perl_arch(d)}" + +# The perl symbols CPPSTDIN and CPPRUN embed the sysroot into the +# binaries, work needed to remove this +INSANE_SKIP:${PN}-dbg += "buildpaths" diff --git a/meta-xilinx-core/recipes-kernel/perf/perf.bb b/meta-xilinx-core/recipes-kernel/perf/perf.bb new file mode 100644 index 00000000..9164d93a --- /dev/null +++ b/meta-xilinx-core/recipes-kernel/perf/perf.bb @@ -0,0 +1,414 @@ +SUMMARY = "Performance analysis tools for Linux" +DESCRIPTION = "Performance counters for Linux are a new kernel-based \ +subsystem that provide a framework for all things \ +performance analysis. It covers hardware level \ +(CPU/PMU, Performance Monitoring Unit) features \ +and software features (software counters, tracepoints) \ +as well." +HOMEPAGE = "https://perf.wiki.kernel.org/index.php/Main_Page" + +LICENSE = "GPL-2.0-only" + +PE = '1' + +PACKAGECONFIG ??= "python tui libunwind libtraceevent" +PACKAGECONFIG[dwarf] = ",NO_DWARF=1" +PACKAGECONFIG[perl] = ",NO_LIBPERL=1,perl" +PACKAGECONFIG[python] = ",NO_LIBPYTHON=1,python3 python3-setuptools-native" +# gui support was added with kernel 3.6.35 +# since 3.10 libnewt was replaced by slang +# to cover a wide range of kernel we add both dependencies +PACKAGECONFIG[tui] = ",NO_NEWT=1,libnewt slang" +PACKAGECONFIG[libunwind] = ",NO_LIBUNWIND=1 NO_LIBDW_DWARF_UNWIND=1,libunwind" +PACKAGECONFIG[libnuma] = ",NO_LIBNUMA=1" +PACKAGECONFIG[bfd] = ",NO_LIBBFD=1" +PACKAGECONFIG[systemtap] = ",NO_SDT=1,systemtap" +PACKAGECONFIG[jvmti] = ",NO_JVMTI=1" +# libaudit support would need scripting to be enabled +PACKAGECONFIG[audit] = ",NO_LIBAUDIT=1,audit" +PACKAGECONFIG[manpages] = ",,xmlto-native asciidoc-native" +PACKAGECONFIG[cap] = ",,libcap" +PACKAGECONFIG[libtraceevent] = ",NO_LIBTRACEEVENT=1,libtraceevent" +# jevents requires host python for generating a .c file, but is +# unrelated to the python item. +PACKAGECONFIG[jevents] = ",NO_JEVENTS=1,python3-native" +# Arm CoreSight +PACKAGECONFIG[coresight] = "CORESIGHT=1,,opencsd" +PACKAGECONFIG[pfm4] = ",NO_LIBPFM4=1,libpfm4" +PACKAGECONFIG[babeltrace] = ",NO_LIBBABELTRACE=1,babeltrace" + +# libunwind is not yet ported for some architectures +PACKAGECONFIG:remove:arc = "libunwind" +PACKAGECONFIG:remove:riscv32 = "libunwind" + +DEPENDS = " \ + virtual/${MLPREFIX}libc \ + ${MLPREFIX}elfutils \ + ${MLPREFIX}binutils \ + bison-native flex-native xz \ +" + +do_configure[depends] += "virtual/kernel:do_shared_workdir" + +PROVIDES = "virtual/perf" + +inherit linux-kernel-base kernel-arch manpages + +# needed for building the tools/perf Python bindings +inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'python3targetconfig', '', d)} +inherit python3-dir +export PYTHON_SITEPACKAGES_DIR + +#kernel 3.1+ supports WERROR to disable warnings as errors +export WERROR = "0" + +do_populate_lic[depends] += "virtual/kernel:do_shared_workdir" + +# needed for building the tools/perf Perl binding +include ${@bb.utils.contains('PACKAGECONFIG', 'perl', 'perf-perl.inc', '', d)} + +inherit kernelsrc + +S = "${WORKDIR}/${BP}" +SPDX_S = "${S}/tools/perf" + +# The LDFLAGS is required or some old kernels fails due missing +# symbols and this is preferred than requiring patches to every old +# supported kernel. +LDFLAGS="-ldl -lutil" + +# Perf's build system adds its own optimization flags for most TUs, +# overriding the flags included here. But for some, perf does not add +# any -O option, so ensure the distro's chosen optimization gets used +# for those. Since ${SELECTED_OPTIMIZATION} always includes +# ${DEBUG_FLAGS} which in turn includes ${DEBUG_PREFIX_MAP}, this also +# ensures perf is built with appropriate -f*-prefix-map options, +# avoiding the 'buildpaths' QA warning. +TARGET_CC_ARCH += "${SELECTED_OPTIMIZATION}" + +EXTRA_OEMAKE = '\ + V=1 \ + VF=1 \ + -C ${S}/tools/perf \ + O=${B} \ + CROSS_COMPILE=${TARGET_PREFIX} \ + ARCH=${ARCH} \ + CC="${CC}" \ + CCLD="${CC}" \ + LDSHARED="${CC} -shared" \ + AR="${AR}" \ + LD="${LD}" \ + EXTRA_CFLAGS="-ldw -I${S}" \ + YFLAGS='-y --file-prefix-map=${WORKDIR}=${TARGET_DBGSRC_DIR}' \ + EXTRA_LDFLAGS="${PERF_EXTRA_LDFLAGS}" \ + perfexecdir=${libexecdir} \ + NO_GTK2=1 \ + ${PACKAGECONFIG_CONFARGS} \ + PKG_CONFIG=pkg-config \ + TMPDIR="${B}" \ + LIBUNWIND_DIR=${STAGING_EXECPREFIXDIR} \ +' + +EXTRA_OEMAKE += "\ + 'DESTDIR=${D}' \ + 'prefix=${prefix}' \ + 'bindir=${bindir}' \ + 'sharedir=${datadir}' \ + 'sysconfdir=${sysconfdir}' \ + 'perfexecdir=${libexecdir}/perf-core' \ + 'ETC_PERFCONFIG=${@os.path.relpath(sysconfdir, prefix)}' \ + 'sharedir=${@os.path.relpath(datadir, prefix)}' \ + 'mandir=${@os.path.relpath(mandir, prefix)}' \ + 'infodir=${@os.path.relpath(infodir, prefix)}' \ + ${@bb.utils.contains('PACKAGECONFIG', 'python', 'PYTHON=python3 PYTHON_CONFIG=python3-config', '', d)} \ +" + +# During do_configure, we might run a 'make clean'. That often breaks +# when done in parallel, so disable parallelism for do_configure. Note +# that it has to be done this way rather than by passing -j1, since +# perf's build system by default ignores any -j argument, but does +# honour a JOBS variable. +EXTRA_OEMAKE:append:task-configure = " JOBS=1" + +PERF_SRC ?= "Makefile \ + tools/arch \ + tools/build \ + tools/include \ + tools/lib \ + tools/Makefile \ + tools/perf \ + tools/scripts \ + scripts/ \ + arch/arm64/tools \ + arch/${ARCH}/Makefile \ +" + +PERF_EXTRA_LDFLAGS = "" + +# MIPS N32/N64 +PERF_EXTRA_LDFLAGS:mipsarchn32eb = "-m elf32btsmipn32" +PERF_EXTRA_LDFLAGS:mipsarchn32el = "-m elf32ltsmipn32" +PERF_EXTRA_LDFLAGS:mipsarchn64eb = "-m elf64btsmip" +PERF_EXTRA_LDFLAGS:mipsarchn64el = "-m elf64ltsmip" + +do_compile() { + # Linux kernel build system is expected to do the right thing + unset CFLAGS + test -e ${S}/tools/lib/traceevent/plugins/Makefile && \ + sed -i -e 's|\$(libdir)/traceevent/plugins|\$(libdir)/traceevent_${KERNEL_VERSION}/plugins|g' ${S}/tools/lib/traceevent/plugins/Makefile + test -e ${S}/tools/perf/Makefile.config && \ + sed -i -e 's|\$(libdir)/traceevent/plugins|\$(libdir)/traceevent_${KERNEL_VERSION}/plugins|g' ${S}/tools/perf/Makefile.config + oe_runmake all +} + +do_install() { + # Linux kernel build system is expected to do the right thing + unset CFLAGS + oe_runmake install + # we are checking for this make target to be compatible with older perf versions + if ${@bb.utils.contains('PACKAGECONFIG', 'python', 'true', 'false', d)} && grep -q install-python_ext ${S}/tools/perf/Makefile*; then + oe_runmake DESTDIR=${D} install-python_ext + if [ -e ${D}${libdir}/python*/site-packages/perf-*/SOURCES.txt ]; then + sed -i -e 's#${WORKDIR}##g' ${D}${libdir}/python*/site-packages/perf-*/SOURCES.txt + fi + fi +} + +do_configure[prefuncs] += "copy_perf_source_from_kernel" +python copy_perf_source_from_kernel() { + sources = (d.getVar("PERF_SRC") or "").split() + src_dir = d.getVar("STAGING_KERNEL_DIR") + dest_dir = d.getVar("S") + bb.utils.mkdirhier(dest_dir) + bb.utils.prunedir(dest_dir) + for s in sources: + src = oe.path.join(src_dir, s) + dest = oe.path.join(dest_dir, s) + if not os.path.exists(src): + bb.warn("Path does not exist: %s. Maybe PERF_SRC lists more files than what your kernel version provides and needs." % src) + continue + if os.path.isdir(src): + oe.path.copyhardlinktree(src, dest) + else: + src_path = os.path.dirname(s) + os.makedirs(os.path.join(dest_dir,src_path),exist_ok=True) + bb.utils.copyfile(src, dest) +} + +do_configure:prepend () { + # If building a multlib based perf, the incorrect library path will be + # detected by perf, since it triggers via: ifeq ($(ARCH),x86_64). In a 32 bit + # build, with a 64 bit multilib, the arch won't match and the detection of a + # 64 bit build (and library) are not exected. To ensure that libraries are + # installed to the correct location, we can use the weak assignment in the + # config/Makefile. + # + # Also need to relocate .config-detected to $(OUTPUT)/config-detected + # for kernel sources that do not already do this + # as two builds (e.g. perf and lib32-perf from mutlilib can conflict + # with each other if its in the shared source directory + # + if [ -e "${S}/tools/perf/config/Makefile" ]; then + perfconfig="${S}/tools/perf/config/Makefile" + fi + if [ -e "${S}/tools/perf/Makefile.config" ]; then + perfconfig="${S}/tools/perf/Makefile.config" + fi + if [ -n "${perfconfig}" ]; then + # Match $(prefix)/$(lib) and $(prefix)/lib + sed -i -e 's,^libdir = \($(prefix)/.*lib\),libdir ?= \1,' \ + -e 's,^perfexecdir = \(.*\),perfexecdir ?= \1,' \ + -e 's,\ .config-detected, $(OUTPUT)/config-detected,g' \ + ${perfconfig} + fi + # The man pages installation is "$(INSTALL) -d -m 755 $(DESTDIR)$(man1dir)" + # in ${S}/tools/perf/Documentation/Makefile, if the mandir set to '?=', it + # will use the relative path 'share/man', in the way it will resulting in + # incorrect installation for man pages. + if [ -e "${S}/tools/perf/Documentation/Makefile" ]; then + sed -i 's,^mandir?=,mandir:=,' ${S}/tools/perf/Documentation/Makefile + fi + if [ -e "${S}/tools/perf/Makefile.perf" ]; then + sed -i -e 's,\ .config-detected, $(OUTPUT)/config-detected,g' \ + ${S}/tools/perf/Makefile.perf + sed -i -e "s,prefix='\$(DESTDIR_SQ)/usr'$,prefix='\$(DESTDIR_SQ)/usr' --install-lib='\$(PYTHON_SITEPACKAGES_DIR)' --root='\$(DESTDIR)',g" \ + ${S}/tools/perf/Makefile.perf + # backport https://github.com/torvalds/linux/commit/e4ffd066ff440a57097e9140fa9e16ceef905de8 + sed -i -e 's,\($(Q)$(SHELL) .$(arch_errno_tbl).\) $(CC) $(arch_errno_hdr_dir),\1 $(firstword $(CC)) $(arch_errno_hdr_dir),g' \ + ${S}/tools/perf/Makefile.perf + fi + sed -i -e "s,--root='/\$(DESTDIR_SQ)',--prefix='\$(DESTDIR_SQ)/usr' --install-lib='\$(DESTDIR)\$(PYTHON_SITEPACKAGES_DIR)',g" \ + ${S}/tools/perf/Makefile* + + if [ -e "${S}/tools/build/Makefile.build" ]; then + sed -i -e 's,\ .config-detected, $(OUTPUT)/config-detected,g' \ + ${S}/tools/build/Makefile.build + fi + + # start reproducibility substitutions + if [ -e "${S}/tools/perf/Makefile.config" ]; then + # The following line in the Makefle: + # override PYTHON := $(call get-executable-or-default,PYTHON,$(PYTHON_AUTO)) + # "PYTHON" / "PYTHON_AUTO" have the full path as part of the variable. We've + # ensure that the environment is setup and we do not need the full path to be + # captured, since the symbol gets built into the executable, making it not + # reproducible. + sed -i -e 's,$(call get-executable-or-default\,PYTHON\,$(PYTHON_AUTO)),$(notdir $(call get-executable-or-default\,PYTHON\,$(PYTHON_AUTO))),g' \ + ${S}/tools/perf/Makefile.config + # The same line is in older releases, but looking explicitly for Python 2 + sed -i -e 's,$(call get-executable-or-default\,PYTHON\,$(PYTHON2)),$(notdir $(call get-executable-or-default\,PYTHON\,$(PYTHON2))),g' \ + ${S}/tools/perf/Makefile.config + + # likewise with this substitution. Kernels with commit 18f2967418d031a39 + # [perf tools: Use Python devtools for version autodetection rather than runtime] + # need this substitution for reproducibility. + sed -i -e 's,$(call get-executable-or-default\,PYTHON\,$(subst -config\,\,$(PYTHON_AUTO))),$(notdir $(call get-executable-or-default\,PYTHON\,$(subst -config\,\,$(PYTHON_AUTO)))),g' \ + ${S}/tools/perf/Makefile.config + + # The following line: + # srcdir_SQ = $(patsubst %tools/perf,tools/perf,$(subst ','\'',$(srcdir))), + # Captures the full src path of perf, which of course makes it not + # reproducible. We really only need the relative location 'tools/perf', so we + # change the Makefile line to remove everything before 'tools/perf' + sed -i -e "s%srcdir_SQ = \$(subst ','\\\'',\$(srcdir))%srcdir_SQ = \$(patsubst \%tools/perf,tools/perf,\$(subst ','\\\'',\$(srcdir)))%g" \ + ${S}/tools/perf/Makefile.config + # Avoid hardcoded path to python-native + sed -i -e 's#\(PYTHON_WORD := \)$(call shell-wordify,$(PYTHON))#\1 python3#g' \ + ${S}/tools/perf/Makefile.config + fi + if [ -e "${S}/tools/perf/tests/Build" ]; then + # OUTPUT is the full path, we have python on the path so we remove it from the + # definition. This is captured in the perf binary, so breaks reproducibility + sed -i -e 's,PYTHONPATH="BUILD_STR($(OUTPUT)python)",PYTHONPATH="BUILD_STR(python)",g' \ + ${S}/tools/perf/tests/Build + fi + if [ -e "${S}/tools/perf/util/Build" ]; then + # To avoid bison generating #ifdefs that have captured paths, we make sure + # all the calls have YFLAGS, which contains prefix mapping information. + sed -i -e 's,$(BISON),$(BISON) $(YFLAGS),g' ${S}/tools/perf/util/Build + fi + if [ -e "${S}/scripts/Makefile.host" ]; then + # To avoid yacc (bison) generating #ifdefs that have captured paths, we make sure + # all the calls have YFLAGS, which contains prefix mapping information. + sed -i -e 's,$(YACC),$(YACC) $(YFLAGS),g' ${S}/scripts/Makefile.host + fi + if [ -e "${S}/tools/perf/pmu-events/Build" ]; then + target='$(OUTPUT)pmu-events/pmu-events.c $(V)' + replacement1='$(OUTPUT)pmu-events/pmu-events.c $(V)\n' + replacement2='\t$(srctree)/sort-pmuevents.py $(OUTPUT)pmu-events/pmu-events.c $(OUTPUT)pmu-events/pmu-events.c.new\n' + replacement3='\tcp $(OUTPUT)pmu-events/pmu-events.c.new $(OUTPUT)pmu-events/pmu-events.c' + sed -i -e "s,$target,$replacement1$replacement2$replacement3,g" \ + "${S}/tools/perf/pmu-events/Build" + fi + if [ -e "${S}/tools/perf/pmu-events/jevents.py" ]; then + sed -i -e "s#os.scandir(path)#sorted(os.scandir(path), key=lambda e: e.name)#g" \ + "${S}/tools/perf/pmu-events/jevents.py" + fi + if [ -e "${S}/tools/perf/arch/arm64/Makefile" ]; then + sed -i 's,sysdef := $(srctree)/,sysdef := ,' ${S}/tools/perf/arch/arm64/Makefile + sed -i 's,$(incpath) $(sysdef),$(incpath) $(srctree)/$(sysdef) $(sysdef),' ${S}/tools/perf/arch/arm64/Makefile + fi + if [ -e "${S}/tools/perf/arch/arm64/entry/syscalls/mksyscalltbl" ]; then + if ! grep -q input_rel ${S}/tools/perf/arch/arm64/entry/syscalls/mksyscalltbl; then + sed -i 's,input=$4,input=$4\ninput_rel=$5,' ${S}/tools/perf/arch/arm64/entry/syscalls/mksyscalltbl + fi + sed -i 's,#include \\"\$input\\",#include \\"\$input_rel\\",' ${S}/tools/perf/arch/arm64/entry/syscalls/mksyscalltbl + fi + # end reproducibility substitutions + + # We need to ensure the --sysroot option in CC is preserved + if [ -e "${S}/tools/perf/Makefile.perf" ]; then + sed -i 's,CC = $(CROSS_COMPILE)gcc,#CC,' ${S}/tools/perf/Makefile.perf + sed -i 's,AR = $(CROSS_COMPILE)ar,#AR,' ${S}/tools/perf/Makefile.perf + sed -i 's,LD = $(CROSS_COMPILE)ld,#LD,' ${S}/tools/perf/Makefile.perf + sed -i 's,PKG_CONFIG = $(CROSS_COMPILE)pkg-config,#PKG_CONFIG,' ${S}/tools/perf/Makefile.perf + fi + if [ -e "${S}/tools/lib/api/Makefile" ]; then + sed -i 's,CC = $(CROSS_COMPILE)gcc,#CC,' ${S}/tools/lib/api/Makefile + sed -i 's,AR = $(CROSS_COMPILE)ar,#AR,' ${S}/tools/lib/api/Makefile + sed -i 's,LD = $(CROSS_COMPILE)ld,#LD,' ${S}/tools/lib/api/Makefile + fi + if [ -e "${S}/tools/lib/subcmd/Makefile" ]; then + sed -i 's,CC = $(CROSS_COMPILE)gcc,#CC,' ${S}/tools/lib/subcmd/Makefile + sed -i 's,AR = $(CROSS_COMPILE)ar,#AR,' ${S}/tools/lib/subcmd/Makefile + fi + if [ -e "${S}/tools/perf/config/feature-checks/Makefile" ]; then + sed -i 's,CC := $(CROSS_COMPILE)gcc -MD,CC += -MD,' ${S}/tools/perf/config/feature-checks/Makefile + fi + if [ -e "${S}/tools/build/Makefile.feature" ]; then + sed -i 's,CFLAGS=,CC="\$(CC)" CFLAGS=,' ${S}/tools/build/Makefile.feature + fi + # The libperl feature check produces fatal warnings due to -Werror being + # used, silence enough errors that the check passes. + sed -i 's/\(FLAGS_PERL_EMBED=.*\)/\1 -Wno-error=unused-function -Wno-error=attributes/' ${S}/tools/build/feature/Makefile + + # 3.17-rc1+ has a include issue for arm/powerpc. Temporarily sed in the appropriate include + if [ -e "${S}/tools/perf/arch/$ARCH/util/skip-callchain-idx.c" ]; then + sed -i 's,#include "util/callchain.h",#include "util/callchain.h"\n#include "util/debug.h",' ${S}/tools/perf/arch/$ARCH/util/skip-callchain-idx.c + fi + if [ -e "${S}/tools/perf/arch/arm/util/unwind-libunwind.c" ] && [ -e "${S}/tools/perf/arch/arm/tests/dwarf-unwind.c" ]; then + sed -i 's,#include "tests/tests.h",#include "tests/tests.h"\n#include "util/debug.h",' ${S}/tools/perf/arch/arm/tests/dwarf-unwind.c + sed -i 's,#include "perf_regs.h",#include "perf_regs.h"\n#include "util/debug.h",' ${S}/tools/perf/arch/arm/util/unwind-libunwind.c + fi + + # use /usr/bin/env instead of version specific python + for s in `find ${S}/tools/perf/ -name '*.py'` `find ${S}/scripts/ -name 'bpf_helpers_doc.py'`; do + sed -i -e "s,#!.*python.*,#!${USRBINPATH}/env python3," ${s} + done + + # unistd.h can be out of sync between libc-headers and the captured version in the perf source + # so we copy it from the sysroot unistd.h to the perf unistd.h + install -D -m0644 ${STAGING_INCDIR}/asm-generic/unistd.h ${S}/tools/include/uapi/asm-generic/unistd.h + install -D -m0644 ${STAGING_INCDIR}/asm-generic/unistd.h ${S}/include/uapi/asm-generic/unistd.h + + # the fetcher is inhibited by the 'inherit kernelsrc', so we do a quick check and + # copy for a helper script we need + for p in $(echo ${FILESPATH} | tr ':' '\n'); do + if [ -e $p/sort-pmuevents.py ]; then + cp $p/sort-pmuevents.py ${S} + fi + done +} + +python do_package:prepend() { + d.setVar('PKGV', d.getVar("KERNEL_VERSION").split("-")[0]) +} + +PACKAGE_ARCH = "${MACHINE_ARCH}" + + +PACKAGES =+ "${PN}-archive ${PN}-tests ${PN}-perl ${PN}-python" + +RDEPENDS:${PN} += "elfutils bash" +RDEPENDS:${PN}-archive =+ "bash" +RDEPENDS:${PN}-python =+ "bash python3 python3-modules ${@bb.utils.contains('PACKAGECONFIG', 'audit', 'audit-python', '', d)}" +RDEPENDS:${PN}-perl =+ "bash perl perl-modules" +RDEPENDS:${PN}-tests =+ "python3 bash" + +RSUGGESTS:${PN} += "${PN}-archive ${PN}-tests \ + ${@bb.utils.contains('PACKAGECONFIG', 'perl', '${PN}-perl', '', d)} \ + ${@bb.utils.contains('PACKAGECONFIG', 'python', '${PN}-python', '', d)} \ + " +FILES_SOLIBSDEV = "" +FILES:${PN} += "${libexecdir}/perf-core ${exec_prefix}/libexec/perf-core ${libdir}/traceevent* ${libdir}/libperf-jvmti.so" +FILES:${PN}-archive = "${libdir}/perf/perf-core/perf-archive" +FILES:${PN}-tests = "${libdir}/perf/perf-core/tests ${libexecdir}/perf-core/tests" +FILES:${PN}-python = " \ + ${PYTHON_SITEPACKAGES_DIR} \ + ${libexecdir}/perf-core/scripts/python \ + " +FILES:${PN}-perl = "${libexecdir}/perf-core/scripts/perl" + +DEBUG_OPTIMIZATION:append = " -Wno-error=maybe-uninitialized" + +PACKAGESPLITFUNCS =+ "perf_fix_sources" + +perf_fix_sources () { + for f in util/parse-events-flex.h util/parse-events-flex.c util/pmu-flex.c \ + util/pmu-flex.h util/expr-flex.h util/expr-flex.c; do + f=${PKGD}${TARGET_DBGSRC_DIR}/$f + if [ -e $f ]; then + sed -i -e 's#${S}/##g' $f + fi + done +} diff --git a/meta-xilinx-core/recipes-kernel/perf/perf/sort-pmuevents.py b/meta-xilinx-core/recipes-kernel/perf/perf/sort-pmuevents.py new file mode 100755 index 00000000..0362f2d8 --- /dev/null +++ b/meta-xilinx-core/recipes-kernel/perf/perf/sort-pmuevents.py @@ -0,0 +1,100 @@ +#!/usr/bin/env python3 + +# perf pmu-events sorting tool +# +# Copyright (C) 2021 Bruce Ashfield +# +# SPDX-License-Identifier: MIT +# + +import sys +import os +import re +from collections import OrderedDict + +if len(sys.argv) < 2: + print( "[ERROR]: input and output pmu files missing" ) + sys.exit(1) + +if len(sys.argv) < 3: + print( "[ERROR]: output pmu file missing" ) + sys.exit(1) + +infile = sys.argv[1] +outfile = sys.argv[2] + +if not os.path.exists(infile): + print( "ERROR. input file does not exist: %s" % infile ) + sys.exit(1) + +if os.path.exists(outfile): + print( "WARNING. output file will be overwritten: %s" % infile ) + +with open(infile, 'r') as file: + data = file.read() + +preamble_regex = re.compile( '^(.*?)^(struct|const struct|static struct|static const struct)', re.MULTILINE | re.DOTALL ) + +preamble = re.search( preamble_regex, data ) +struct_block_regex = re.compile( '^(struct|const struct|static struct|static const struct).*?(\w+) (.*?)\[\] = {(.*?)^};', re.MULTILINE | re.DOTALL ) +field_regex = re.compile( '{.*?},', re.MULTILINE | re.DOTALL ) +cpuid_regex = re.compile( '\.cpuid = (.*?),', re.MULTILINE | re.DOTALL ) +name_regex = re.compile( '\.name = (.*?),', re.MULTILINE | re.DOTALL ) + +# create a dictionary structure to store all the structs, their +# types and then their fields. +entry_dict = {} +for struct in re.findall( struct_block_regex, data ): + # print( "struct: %s %s %s" % (struct[0],struct[1],struct[2]) ) + entry_dict[struct[2]] = {} + entry_dict[struct[2]]['type_prefix'] = struct[0] + entry_dict[struct[2]]['type'] = struct[1] + entry_dict[struct[2]]['fields'] = {} + for entry in re.findall( field_regex, struct[3] ): + #print( " entry: %s" % entry ) + cpuid = re.search( cpuid_regex, entry ) + if cpuid: + #print( " cpuid found: %s" % cpuid.group(1) ) + entry_dict[struct[2]]['fields'][cpuid.group(1)] = entry + + name = re.search( name_regex, entry ) + if name: + #print( " name found: %s" % name.group(1) ) + entry_dict[struct[2]]['fields'][name.group(1)] = entry + + # unmatched entries are most likely array terminators and + # should end up as the last element in the sorted list, which + # is achieved by using '0' as the key + if not cpuid and not name: + entry_dict[struct[2]]['fields']['0'] = entry + +# created ordered dictionaries from the captured values. These are ordered by +# a sorted() iteration of the keys. We don't care about the order we read +# things, just the sorted order. Hency why we couldn't create these during +# reading. +# +# yes, there's a more concise way to do this, but our nested dictionaries of +# fields make it complex enough that it becomes unreadable. +entry_dict_sorted = OrderedDict() +for i in sorted(entry_dict.keys()): + entry_dict_sorted[i] = {} + entry_dict_sorted[i]['type_prefix'] = entry_dict[i]['type_prefix'] + entry_dict_sorted[i]['type'] = entry_dict[i]['type'] + entry_dict_sorted[i]['fields'] = {} + for f in sorted(entry_dict[i]['fields'].keys()): + entry_dict_sorted[i]['fields'][f] = entry_dict[i]['fields'][f] + +# dump the sorted elements to the outfile +outf = open( outfile, 'w' ) + +print( preamble.group(1) ) +outf.write( preamble.group(1) ) +for d in entry_dict_sorted: + outf.write( "%s %s %s[] = {\n" % (entry_dict_sorted[d]['type_prefix'], entry_dict_sorted[d]['type'],d) ) + for f in entry_dict_sorted[d]['fields']: + outf.write( entry_dict_sorted[d]['fields'][f] + '\n' ) + + outf.write( "};\n" ) + +outf.close() + -- cgit v1.2.3-54-g00ecf From d26f98b857e30992f43f182c2a07f4b6ef6b3068 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Mon, 15 Jan 2024 11:34:31 -0700 Subject: meta-xilinx-core: layer.conf: Temporarily disable kernel-modules-{hdmi,dp} These two modules do not currently compile with Linux 6.6. Disable until they do work. Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/layer.conf | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta-xilinx-core/conf/layer.conf b/meta-xilinx-core/conf/layer.conf index 6b5ae6d5..6510b3cd 100644 --- a/meta-xilinx-core/conf/layer.conf +++ b/meta-xilinx-core/conf/layer.conf @@ -76,3 +76,6 @@ PLNX_SCRIPTS_PATH = "${LAYERDIR}/gen-machine-conf/gen-machine-scripts" BB_HASHEXCLUDE_COMMON:append = " PLNX_SCRIPTS_PATH" IMAGE_CLASSES += "gen-machine-conf" + +SKIP_RECIPE[kernel-module-hdmi] = "Does not currently build with Linux 6.6" +SKIP_RECIPE[kernel-module-dp] = "Does not currenty build with Linux 6.6" -- cgit v1.2.3-54-g00ecf From 3122ec969c1d524ca81621392cdde5248c99640b Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Thu, 11 Jan 2024 11:43:15 -0700 Subject: layer.conf: Move to prefer linux-xlnx 6.6.0 linux-xlnx was moved forward to the 6.6.0 version. Adjust the PREFERRED_VERSION to match. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/layer.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/conf/layer.conf b/meta-xilinx-core/conf/layer.conf index 6510b3cd..59dceb1e 100644 --- a/meta-xilinx-core/conf/layer.conf +++ b/meta-xilinx-core/conf/layer.conf @@ -68,7 +68,7 @@ PREFERRED_VERSION_u-boot-tools-xlnx ?= "${@d.getVarFlag('XILINX_UBOOT_VERSION', XILINX_LINUX_VERSION[v2023.1] = "6.1.5-xilinx-v2023.1%" XILINX_LINUX_VERSION[v2023.2] = "6.1.30-xilinx-v2023.2%" -XILINX_LINUX_VERSION[v2024.1] = "6.1.0-xilinx-v2024.1%" +XILINX_LINUX_VERSION[v2024.1] = "6.6.0-xilinx-v2024.1%" PREFERRED_VERSION_linux-xlnx ?= "${@d.getVarFlag('XILINX_LINUX_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" # Add support to eSDK for gen-machine-conf if it exists -- cgit v1.2.3-54-g00ecf From 1be6d169656c184890e3147ed02bdff325450fc3 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 16 Jan 2024 20:50:12 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_6655 Avoid mem mapping in MPU for region mapped by bsp sw_services: xilloader: Support validation of authenticated PDI sw_services:xilplmi:Added client support for xilplmi sw_services:xilloader:Added client support for xilloader sw_services: xilplmi: Added PMC RAM address in Verify Address API qspipsu: Add support for compiling driver examples in Yocto flow sw_services: xilpm: Add laguna repair code for xcvp1902 sw_services: xilloader: Clear Keys during PDI failure trngpsx: Add option to support blocking or non-blocking reseed operation i2srx: Add support for SDT flow i2stx: Add support for SDT flow v_sdirx: Fix for the SDI Rx YUV format spdif: Add support for SDT flow SCD APP: Application fix for rigel flow bsp: standalone: Fix description for Xil_L2CacheInvalidateRange sw_services:xilloader:Fixed compilation warning rtcpsu: Add support for compiling driver examples in yocto flow rtcpsu: Increment driver version --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index b16804ec..0c56fa78 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "13df7fae89494dfac77afd93580a9effdc1e356a" +ESW_REV[2024.1] = "113f8ad1812c3326874cc9b86571b4206d3dd6bd" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From fd4bb964b12f57d758d8a4ecb50b37344fe833f6 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 18 Jan 2024 12:57:24 +0530 Subject: linux-xlnx : Updated SRCREV for 2024.1_3975 staging: xilinx-tsn: Remove Dead Code from TADMA Driver arm64: zynqmp: Build full dtb for zynqmp-p-a2197-00-revA with x-prc cards EDAC/versal: Read num_csrows and num_chans using the correct bitfield macro arm64: configs: Enable CONFIG_VIDEO_XILINX_HDMI21RXSS for versal arm64: configs: Enable CONFIG_DRM_XLNX_HDMITX for zynqmp and versal drm: xlnx: hdmi: Fix tmdsclk for YUV422 color format drm: xlnx: hdmi: Add YUV420 support drm: xlnx: hdmi: Add support for AVI infoframes drm: xlnx: hdmi: Fix the header order mtd: spi-nor: Capture spi_nor_set_4byte_addr_mode() function return value mtd: spi-nor: Compute the offset value from valid address staging: xilinx-tsn: Fix mac address pointer passed to of_get_mac_address for TSN EX-EP ARM: zynq: Move to fixed-partitions description ARM: zynq: Rename i2c?-gpio to i2c?-gpio-grp ARM: zynq: Define u-boot bootscrip addr via DT ARM: zynq: Remove deprecated device_type property arm64: zynqmp: Sync licenses with upstream arm64: zynqmp: Rename overlays to dtso arm64: versal: Move ethernet phys to mdio node arm64: versal-net: Remove unused b2197 PL description arm64: dtsi: update interrupts and interrupt-names for usb arm64: zynqmp: Remove incorrect comment from kv260s arm64: zynqmp: Define default clock rate for rs485 uart arm64: xilinx: Remove multiple blank lines from DTSes arm64: zynqmp: Describe assigned-clocks for uarts arm64: xilinx: Put ethernet phys to mdio node arm64: zynqmp: Fix typo in sc-vhk158-revA arm64: zynqmp: Describe ethernet phy on kd240 arm64: zynqmp: Disable Tri-state for MIO38 Pin arm64: zynqmp: Replace - by _ in fclk clock nodes arm64: zynqmp: Rename i2c?-gpio to i2c?-gpio-grp arm64: zynqmp: Replace - by _ in fixed clock nodes arm64: zynqmp: Add an OP-TEE node to the device tree arm64: zynqmp: Introduce u-boot options node with bootscr-address arm64: zynqmp: Rename zynqmp-power node to power-management dt-bindings: power: reset: xilinx: Rename node names in examples dt-bindings: firmware: xilinx: Sort node names (clock-controller) dt-bindings: firmware: xilinx: Fix versal-fpga node name arm64: zynqmp: Add missing destination mailbox compatible arm64: zynqmp: Fix clock node name in kv260 cards arm64: zynqmp: Move fixed clock to / for kv260 arm64: xilinx: Remove address/size-cells from gem nodes arm64: xilinx: Remove address/size-cells from flash node arm64: xilinx: Remove mt25qu512a compatible string from SOM arm64: xilinx: Use lower case for partition address arm64: xilinx: Put ethernet phys to mdio node ARM: zynq: Remove clk/zynq.h header ptp: Fix structure alignment usb: dwc3: Remove not required version.h header misc: xilinx-ai-engine: Added ARM64_PAN flag support vfio/cdx: Add parentheses between bitwise AND expression and logical NOT firmware: zynqmp: Mark some function as inline --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index f038f7e2..4363c29f 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.6.0" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.6;destsuffix=yocto-kmeta" KBRANCH="master" -SRCREV = "340eed500130362bebb22ca604e3025ceddcc758" +SRCREV = "6ceb721218b64dd2c6ef478849ec6fb464f608bd" SRCREV_meta = "5d0809d0d939c7738cb6e5391126c73fd0e4e865" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From 9b2a16af1b7907e72f32be2a947a2faaf37db0f7 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 18 Jan 2024 15:56:16 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_6663 sw_services:xilplmi:Logstring and begin command logic enhancement sw_services:xilcert:Avoids infinite loop clockps: Add support for compiling driver examples in Yocto flow ThirdParty: Libmetal, OpenAMP: Ensure cleanup of SDT Flow directory occurs sw_services: xilsecure: Corrected length of IntHash for zeroization sdps: Add support for compiling driver examples in Yocto flow audio_formatter: Add support for SDT flow xilffs: Fix doxygen warnings ipipsu: Add PSM, PMC related bitmask macros for versal-net dp14rxss: Update HDCP Initialization flow to support multi combinations. dp14txss: Update HDCP Controlling Logic to support multi-combinations dp14txss: zcu_pt_dp14_hdcp: Update application to support system device-tree flow. hdcp22_cipher_dp: Driver updates to support system device-tree flow. hdcp22_cipher_dp: Added yaml file for decoupling flow support hdcp22_common: Add support for system device-tree flow hdcp22_common: Added yaml file for decoupling flow support. hdcp22_mmult: Updated drivers to support system device-tree flow. hdcp22_mmult: Added yaml file for decoupling flow support hdcp22_rng: Driver updates to support system device-tree flow. hdcp22_rng: Added yaml file for decoupling flow support. hdcp22_rx_dp: Driver updates to support system device-tree flow. hdcp22_rx_dp:Added yaml file for decoupling flow support hdcp22_tx_dp: Driver update to support system device-tree flow. hdcp22_tx_dp: Added yaml file for decoupling flow support hdcp1x: Update driver to support system device-tree flow. hdcp1x: Add support for system device-tree flow dp14txss: eeprom_utility: Update driver to support new system device-tree flow ThirdParty: openamp: libmetal version dependency --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 0c56fa78..f106fb50 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "113f8ad1812c3326874cc9b86571b4206d3dd6bd" +ESW_REV[2024.1] = "ba4c00f90987cb33dafdf55649d0e6424e46ac33" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From c7c20ed672f6998042058a4cccebea2bdd889315 Mon Sep 17 00:00:00 2001 From: Ben Levinsky Date: Mon, 15 Jan 2024 13:25:28 -0800 Subject: meta-xilinx-core: openamp: device-tree: Add separate RPU1 IPI Mailbox node Add separate IPI Mailbox node for Versal NET and ZynqMP Platforms. Remoteproc driver expects separate IPI Mailbox node for each remoteproc instance. Signed-off-by: Ben Levinsky Signed-off-by: Mark Hatle --- .../device-tree/files/versal-net-openamp.dtsi | 10 +++++++++ .../device-tree/files/zynqmp-openamp.dtsi | 25 +++++++++++++++------- 2 files changed, 27 insertions(+), 8 deletions(-) diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/versal-net-openamp.dtsi b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/versal-net-openamp.dtsi index 5aa73798..c0896a6b 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/versal-net-openamp.dtsi +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/versal-net-openamp.dtsi @@ -146,5 +146,15 @@ #mbox-cells = <0x01>; xlnx,ipi-id = <0x03>; }; + /* APU<->RPU1 IPI mailbox controller */ + ipi_mailbox_rpu1: mailbox@eb3f0b00{ + reg = <0xeb3f0b00 0x20 0xeb3f0b20 0x20 0xeb3f0940 0x20 0xeb3f0960 0x20>; + reg-names = "local_request_region", + "local_response_region", + "remote_request_region", + "remote_response_region"; + #mbox-cells = <0x01>; + xlnx,ipi-id = <0x04>; + }; }; }; diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/zynqmp-openamp.dtsi b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/zynqmp-openamp.dtsi index d0040ee3..55949e64 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/zynqmp-openamp.dtsi +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/zynqmp-openamp.dtsi @@ -132,16 +132,25 @@ #mbox-cells = <1>; xlnx,ipi-id = <1>; }; + }; + zynqmp_ipi2 { + compatible = "xlnx,zynqmp-ipi-mailbox"; + interrupt-parent = <&gic>; + interrupts = <0 30 4>; + xlnx,ipi-id = <8>; + #address-cells = <1>; + #size-cells = <1>; + ranges; /* APU<->RPU1 IPI mailbox controller */ - ipi_mailbox_rpu1: mailbox@ff990640 { - reg = <0xff990640 0x20>, - <0xff990660 0x20>, - <0xff9902c0 0x20>, - <0xff9902e0 0x20>; + ipi_mailbox_rpu1: mailbox@ff3f0b00 { + reg = <0xff3f0b00 0x20>, + <0xff3f0b20 0x20>, + <0xff3f0940 0x20>, + <0xff3f0960 0x20>; reg-names = "local_request_region", - "local_response_region", - "remote_request_region", - "remote_response_region"; + "local_response_region", + "remote_request_region", + "remote_response_region"; #mbox-cells = <1>; xlnx,ipi-id = <2>; }; -- cgit v1.2.3-54-g00ecf From ed6185d9c15cd8023bd23f0aa2cd23c2e479b579 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Tue, 16 Jan 2024 18:50:12 -0700 Subject: README.md: Update SDT pl overlay instructions 1. Update SDT pl overlay build instructions. 2. Add note on supported devices for 2024.1 release. 3. Update README with new --multiconfigfull option. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- meta-xilinx-standalone-experimental/README.md | 45 +++++++++++++++++++++------ 1 file changed, 36 insertions(+), 9 deletions(-) diff --git a/meta-xilinx-standalone-experimental/README.md b/meta-xilinx-standalone-experimental/README.md index 90f893cf..f315449f 100644 --- a/meta-xilinx-standalone-experimental/README.md +++ b/meta-xilinx-standalone-experimental/README.md @@ -19,7 +19,7 @@ meta-kria and meta-system-controller. as system configuration, you must build through gen-machineconf tool. This tool is passed a output of system device tree directory. -The Yocto Project setup for the System Device Tree workflow is as follows. +The Yocto Project setup for the System Device Tree (SDT) workflow is as follows. Be sure to read everything below. 1. Follow [Building Instructions](https://github.com/Xilinx/meta-xilinx/blob/master/README.building.md) @@ -28,6 +28,13 @@ Be sure to read everything below. 2. Remove meta-xilinx-tools and meta-xilinx-tools dependency layers(such as meta-kria and meta-system-controller if included in bblayers.conf), then add the meta-xilinx-standalone-experimental layer. + +> **Note:** SDT builds for following devices are not supported in 2024.1 release. +> * Zynq 7000 +> * MicoBlaze +> * Kria +> * System Controller + ``` $ bitbake-layers remove-layer meta-xilinx-tools $ bitbake-layers remove-layer meta-kria @@ -40,16 +47,36 @@ $ bitbake-layers add-layer .//meta-xilinx/meta-xilinx-standalone- $ export PATH=$PATH:/gen-machine-conf ``` -4. Run the script from the build or ${TOPDIR} directory. -``` - $ gen-machineconf --hw-description -c -l conf/local.conf -``` +4. Run the script from the build or ${TOPDIR} directory. This step describes + System Device Tree (SDT) with and without pl overlays. Configruations are same + for both SDT with and without pl overlays except for linux dts content. + > **Note:** > 1. The -l option will automatically add the necessary parameters to the local.conf file. If you need to re-run this comment, you just clear the parameters from the end of the file. Without the -l option the items are printed to the screen and must be manually added to your conf/local.conf > 2. The --soc-family argument is an optional argument and user can skip this. +> 3. By default minimal set of multiconfigs are generated by gen-machineconf tool. +> To enable full multiconfig(APU/RPU baremetal or FreeRTOS) then use +> `--multiconfigfull` option. + + a. Without SDT pl overlay: +``` + $ gen-machineconf --hw-description -c -l conf/local.conf +``` + + b. With SDT pl overlay: + To generate SDT pl overlay run gen-machineconf command with + `-g {full|dfx-static|dfx-partial}` option. Once SDT pl overlay command is + executed successfully pl.dtsi will be generated under + /dts/${MACHINE}/pl-overlay-{full|dfx-static|dfx-partial} directory. + User can use this pl.dtsi as input to firmware recipes. + + * ZynqMP Full bitstream or Versal Segmented Configuration: +``` + $ gen-machineconf parse-sdt --hw-description -c -l conf/local.conf -g full +``` For example, zynqmp: ``` @@ -72,9 +99,9 @@ BASE_TMPDIR ?= "${TOPDIR}" # The following is the full set of multiconfigs for this configuration # A large list can cause a slow parse. -BBMULTICONFIG = " cortexa53-0-zynqmp-fsbl-baremetal cortexa53-0-zynqmp-baremetal cortexa53-0-zynqmp-freertos cortexa53-1-zynqmp-baremetal cortexa53-1-zynqmp-freertos cortexa53-2-zynqmp-baremetal cortexa53-2-zynqmp-freertos cortexa53-3-zynqmp-baremetal cortexa53-3-zynqmp-freertos cortexr5-0-zynqmp-fsbl-baremetal cortexr5-0-zynqmp-baremetal cortexr5-0-zynqmp-freertos cortexr5-1-zynqmp-baremetal cortexr5-1-zynqmp-freertos microblaze-0-pmu" +#BBMULTICONFIG = " cortexa53-0-zynqmp-fsbl-baremetal cortexa53-0-zynqmp-baremetal cortexa53-0-zynqmp-freertos cortexa53-1-zynqmp-baremetal cortexa53-1-zynqmp-freertos cortexa53-2-zynqmp-baremetal cortexa53-2-zynqmp-freertos cortexa53-3-zynqmp-baremetal cortexa53-3-zynqmp-freertos cortexr5-0-zynqmp-fsbl-baremetal cortexr5-0-zynqmp-baremetal cortexr5-0-zynqmp-freertos cortexr5-1-zynqmp-baremetal cortexr5-1-zynqmp-freertos microblaze-0-pmu" # Alternatively trim the list to the minimum -#BBMULTICONFIG = " cortexa53-0-zynqmp-fsbl-baremetal microblaze-0-pmu" +BBMULTICONFIG = " cortexa53-0-zynqmp-fsbl-baremetal microblaze-0-pmu" ``` For example, versal: @@ -99,9 +126,9 @@ BASE_TMPDIR ?= "${TOPDIR}" # The following is the full set of multiconfigs for this configuration # A large list can cause a slow parse. -BBMULTICONFIG = " cortexa72-0-versal-baremetal cortexa72-0-versal-freertos cortexa72-1-versal-baremetal cortexa72-1-versal-freertos microblaze-0-pmc microblaze-0-psm cortexr5-0-versal-baremetal cortexr5-0-versal-freertos cortexr5-1-versal-baremetal cortexr5-1-versal-freertos" +#BBMULTICONFIG = " cortexa72-0-versal-baremetal cortexa72-0-versal-freertos cortexa72-1-versal-baremetal cortexa72-1-versal-freertos microblaze-0-pmc microblaze-0-psm cortexr5-0-versal-baremetal cortexr5-0-versal-freertos cortexr5-1-versal-baremetal cortexr5-1-versal-freertos" # Alternatively trim the list to the minimum -#BBMULTICONFIG = " microblaze-0-pmc microblaze-0-psm" +BBMULTICONFIG = " microblaze-0-pmc microblaze-0-psm" ``` > **Bitbake Performance Note:** Each BBMULTICONFIG value requires all of the recipes to be parsed for that -- cgit v1.2.3-54-g00ecf From befe8143e607d7f9a6c49cb4556b2cdf93356cbf Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Tue, 16 Jan 2024 18:50:13 -0700 Subject: README.dfx.user.dts.md: Update SDT pl overlay instructions Update SDT pl overlay build instructions in README. This single README now provides both SDT and XSCT instructions. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- docs/README.dfx.user.dts.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/docs/README.dfx.user.dts.md b/docs/README.dfx.user.dts.md index 7b6682f7..e696aeb1 100644 --- a/docs/README.dfx.user.dts.md +++ b/docs/README.dfx.user.dts.md @@ -281,7 +281,11 @@ SRC_URI = " \ ## How to create a firmware recipe app -1. Follow [Building Instructions](../README.building.md) upto step 4. +1. Follow SDT or XSCT Build instructions whichever build method is used but not + both. + a. [SDT Building Instructions](../README.building.md) upto step 4. + b. [XSCT Building Instructions](../meta-xilinx-standalone-experimental/README.md) + upto step 4.b (With SDT overlay). 2. Create recipes-firmware directory in meta layer and copy the .bit/bin/pdi, .dtsi/dtbo, .json and .xclbin file to these directories. ``` @@ -320,7 +324,11 @@ IMAGE_INSTALL:append = " \ fpga-manager-script \ " ``` -6. Follow [Building Instructions](../README.building.md) and continue from step 5. +6. Follow SDT or XSCT Build instructions whichever build method is used but not + both. + a. [SDT Building Instructions](../README.building.md) and continue from step 5. + b. [XSCT Building Instructions](../meta-xilinx-standalone-experimental/README.md) + and continue from step 5. 7. Once images are built firmware app files will be installed on target_rootfs. ``` # /lib/firmware/xilinx/firmware-app-name -- cgit v1.2.3-54-g00ecf From c31982ff273d0a997a359bdfa4cc7e880b701c86 Mon Sep 17 00:00:00 2001 From: Rajesh Gugulothu Date: Wed, 17 Jan 2024 17:15:07 +0530 Subject: kernel-module-hdmi: Update the SRCREV for hdmi-modules Update the SRCREV for hdmi-modules Changelog: hdmirx: Update Audio status based on audio infoframes dp159: use simple i2c probe function Signed-off-by: Rajesh Gugulothu Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2024.1.bb b/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2024.1.bb index eba5d465..9757ae4b 100644 --- a/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2024.1.bb @@ -11,7 +11,7 @@ S = "${WORKDIR}/git" BRANCH ?= "master" REPO ?= "git://github.com/Xilinx/hdmi-modules.git;protocol=https" -SRCREV = "82209b0021a7b5d7ef71a859eed4bafeb541ed08" +SRCREV = "edd297762e0bac3f4c5b64ef67244968e22020e2" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" -- cgit v1.2.3-54-g00ecf From 6dd621351e317b3328690efc34690b49b6c2ec8a Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Wed, 17 Jan 2024 17:08:39 -0600 Subject: Revert "meta-xilinx-core: layer.conf: Temporarily disable kernel-modules-{hdmi,dp}" This reverts commit d26f98b857e30992f43f182c2a07f4b6ef6b3068. Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/layer.conf | 3 --- 1 file changed, 3 deletions(-) diff --git a/meta-xilinx-core/conf/layer.conf b/meta-xilinx-core/conf/layer.conf index 59dceb1e..9c8e6b94 100644 --- a/meta-xilinx-core/conf/layer.conf +++ b/meta-xilinx-core/conf/layer.conf @@ -76,6 +76,3 @@ PLNX_SCRIPTS_PATH = "${LAYERDIR}/gen-machine-conf/gen-machine-scripts" BB_HASHEXCLUDE_COMMON:append = " PLNX_SCRIPTS_PATH" IMAGE_CLASSES += "gen-machine-conf" - -SKIP_RECIPE[kernel-module-hdmi] = "Does not currently build with Linux 6.6" -SKIP_RECIPE[kernel-module-dp] = "Does not currenty build with Linux 6.6" -- cgit v1.2.3-54-g00ecf From 6fd65d4b54258e3fe10c8d960fe33af51504f9d4 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Mon, 15 Jan 2024 11:34:31 -0700 Subject: meta-xilinx-core: layer.conf: Temporarily disable kernel-modules-dp This module does not currently compile with Linux 6.6. Disable until it works. Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/layer.conf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-xilinx-core/conf/layer.conf b/meta-xilinx-core/conf/layer.conf index 9c8e6b94..fbfe0a6d 100644 --- a/meta-xilinx-core/conf/layer.conf +++ b/meta-xilinx-core/conf/layer.conf @@ -76,3 +76,5 @@ PLNX_SCRIPTS_PATH = "${LAYERDIR}/gen-machine-conf/gen-machine-scripts" BB_HASHEXCLUDE_COMMON:append = " PLNX_SCRIPTS_PATH" IMAGE_CLASSES += "gen-machine-conf" + +SKIP_RECIPE[kernel-module-dp] = "Does not currenty build with Linux 6.6" -- cgit v1.2.3-54-g00ecf From ec9dc060d57f90eb034fa1507517cea7bc5fdeb7 Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Fri, 19 Jan 2024 12:30:11 +0530 Subject: Updated Commit ID multiconfigs.py: Copy pl overlay dt file to dts path --- meta-xilinx-core/gen-machine-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf index 20693b70..2ee4fe3b 160000 --- a/meta-xilinx-core/gen-machine-conf +++ b/meta-xilinx-core/gen-machine-conf @@ -1 +1 @@ -Subproject commit 20693b701965bf46ee20f7ae7e90d4cade8b13d7 +Subproject commit 2ee4fe3b5beb5ae7959714546beb3b7b034710a2 -- cgit v1.2.3-54-g00ecf From 774770ca1e485fea6c5aed8d77d8c535669bb505 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 19 Jan 2024 16:24:39 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_9599 sw_services: xilfpga: Fix doxygen warnings mbox: Add support for compiling examples in Yocto flow mutex: Add support for compiling examples in yocto flow mutex: Increment driver version ospipsv: Add support for compiling driver examples in Yocto flow lib: bsp: Fix bug in cache invalidation APIs for ARMv7 xilpm: versal_common: server: Fix reset assert during core pending power down lib: sw_apps: libmetal demo: sdt: Streamline app-create step wdtps: Add support for compiling examples in Yocto flow wdtps: Increment driver version Fix C++ compatibility of newly added function lwip_memcmp_consttime() ppp: use constant-time memcmp for checking credentials Introduce constant-time memcmp and use it for snmpv3_get_engine_boots xilpm: versal_net: server: Add workaround for CMN flush during subsystem restart dpdma: Fix spellings in comments dpdma: Fix MISRA-C rule 14.2 violation dpdma: Update to v1.6 --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index f106fb50..92a1b14c 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "ba4c00f90987cb33dafdf55649d0e6424e46ac33" +ESW_REV[2024.1] = "04c35b655387f69b36f83869185396fd68e5e000" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From e4806c976cfe73f68c527c48f93b4b97a3b31808 Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Mon, 22 Jan 2024 12:30:10 +0530 Subject: Updated Commit ID multiconfigs.py: Read PL DT OVERLAY type from config and use yocto_machine.py: Add MACHINE_FEATURES in SDT project_config.py: Map gen-pl-overlay to config Kconfig.dtgsettings: Add PL DT Overlay config --- meta-xilinx-core/gen-machine-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf index 2ee4fe3b..c65da50a 160000 --- a/meta-xilinx-core/gen-machine-conf +++ b/meta-xilinx-core/gen-machine-conf @@ -1 +1 @@ -Subproject commit 2ee4fe3b5beb5ae7959714546beb3b7b034710a2 +Subproject commit c65da50aca00c68e8de182f92dc1d80157b13072 -- cgit v1.2.3-54-g00ecf From cbe4bf5e78235053c247456e5a1026cf48cc00f2 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 22 Jan 2024 12:54:13 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_1775 nandpsu: Add support for compiling driver examples in Yocto flow nandpsu: Update version number nandps: Add support for compiling driver examples in Yocto flow --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 92a1b14c..456be0c6 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "04c35b655387f69b36f83869185396fd68e5e000" +ESW_REV[2024.1] = "2a07bc9c764e5aecea4cfb54068f5715176e2dad" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 2ce7d5909e251604637a3bbf1a0b7707ea6bd74c Mon Sep 17 00:00:00 2001 From: saumya garg Date: Thu, 18 Jan 2024 12:21:38 +0530 Subject: xrt, zocl: Change commit id Changelog: fixing crash in xbmgmt/xbutil examine (#7890) VITIS-10487 Add throughput and latency no-op test (#7878) VITIS-11098 Remove nonapplicable reports for Ryzen (#7886) VITIS-11097 Update AIE Reports (#7885) VITIS-11096 Add report name printout to ReportDynamicRegions (#7884) VITIS-11093 Rename usage metrics column to command submissions. Remove device BO metrics column. (#7883) VITIS-11103 Refactor validate test header to account for differences in ryzen and alveo devices (#7882) VITIS-11103 Hide driver hash if not present (#7881) VITIS-11095 ReportPlatform Upgrade (#7880) VITIS-11094 Remove device ID and device readiness for Ryzen devices (#7879) Adding authorize workflow and updating codeowners (#7888) Further refactor of AIE Profile plugin (#7853) VITIS-10866 - Patching instruction buffer in XRT (#7830) VITIS-10999 Improve electrical report output (#7874) VITIS-11043 Refactor XRT to cache created devices (#7870) CR-1181687 Fix hwctx_handle::create_hw_queue() to return shared queue (#7875) Script to enable building of tests directory in CI (#7871) Fix AIE trace crashes on client (#7873) Added check to fix installation failure in RHEl 9.0 (#7869) Signed-off-by: saumya garg Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-xrt/xrt/xrt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc index 403577b3..35235de0 100644 --- a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc @@ -3,7 +3,7 @@ BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != ' SRC_URI = "${REPO};${BRANCHARG};name=xrt" BRANCH= "master" -SRCREV_xrt = "d41edcab61de15f5216415e3d2841d5238f3994a" +SRCREV_xrt = "22150929f8c3c19b514a515168fce1797db7f28c" PV = "202320.2.16.0" SRC_URI += "git://github.com/Xilinx/dma_ip_drivers.git;branch=master;name=dma_ip_drivers;destsuffix=git/src/runtime_src/core/pcie/driver/linux/xocl/lib/libqdma;protocol=https" -- cgit v1.2.3-54-g00ecf From 2ae9359d11eac0db9a5c5c7b2dd7d7f135f49bd6 Mon Sep 17 00:00:00 2001 From: Shubhrajyoti Datta Date: Mon, 22 Jan 2024 15:26:24 +0530 Subject: meta-xilinx-standalone-experimental: Add i3cpsx Add the i3cpsx-example. Signed-off-by: Shubhrajyoti Datta Signed-off-by: Mark Hatle --- .../recipes-drivers/i3cpsx-example_2024.1.bb | 5 +++++ .../recipes-drivers/i3cpsx_2024.1.bb | 13 +++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/i3cpsx-example_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/i3cpsx_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/i3cpsx-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/i3cpsx-example_2024.1.bb new file mode 100644 index 00000000..699b9d97 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/i3cpsx-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "i3cpsx" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/i3cpsx/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/i3cpsx_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/i3cpsx_2024.1.bb new file mode 100644 index 00000000..7b88520d --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/i3cpsx_2024.1.bb @@ -0,0 +1,13 @@ +inherit features_check + +REQUIRED_MACHINE_FEATURES = "i3cpsx" + +inherit esw python3native + +DEPENDS += "xilstandalone " + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/i3cpsx/src/" +ESW_COMPONENT_NAME = "libi3cpsx.a" + +addtask do_generate_driver_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" -- cgit v1.2.3-54-g00ecf From 8494e2dfb9cefc379241762de7c3a490db4d1e9c Mon Sep 17 00:00:00 2001 From: Lakshmi Prasanna Eachuri Date: Mon, 22 Jan 2024 15:20:15 +0530 Subject: kernel-module-dp: Update the SRCREV for dp-modules. Update the SRCREV for dp-modules. changelog: xfmc: Update i2c probe functions. Signed-off-by: Lakshmi Prasanna Eachuri Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2024.1.bb b/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2024.1.bb index 7849cc93..17039abb 100644 --- a/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2024.1.bb @@ -11,7 +11,7 @@ S = "${WORKDIR}/git" BRANCH ?= "master" REPO ?= "git://github.com/xilinx/dp-modules.git;protocol=https" -SRCREV ?= "5b0969ac09f301c33bccc140c8f60e832f5cf222" +SRCREV ?= "e20942b256e6fb18eaef919c7441f65ad8afcf43" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" -- cgit v1.2.3-54-g00ecf From e7caaf9739e4075721e44f602b7dd44ccb585666 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Mon, 22 Jan 2024 14:28:35 -0600 Subject: Revert "meta-xilinx-core: layer.conf: Temporarily disable kernel-modules-dp" This reverts commit 6fd65d4b54258e3fe10c8d960fe33af51504f9d4. Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/layer.conf | 2 -- 1 file changed, 2 deletions(-) diff --git a/meta-xilinx-core/conf/layer.conf b/meta-xilinx-core/conf/layer.conf index fbfe0a6d..9c8e6b94 100644 --- a/meta-xilinx-core/conf/layer.conf +++ b/meta-xilinx-core/conf/layer.conf @@ -76,5 +76,3 @@ PLNX_SCRIPTS_PATH = "${LAYERDIR}/gen-machine-conf/gen-machine-scripts" BB_HASHEXCLUDE_COMMON:append = " PLNX_SCRIPTS_PATH" IMAGE_CLASSES += "gen-machine-conf" - -SKIP_RECIPE[kernel-module-dp] = "Does not currenty build with Linux 6.6" -- cgit v1.2.3-54-g00ecf From 6f7edbe3de0e879e5690d5ec13e21e54d5334b7f Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Tue, 9 Jan 2024 16:25:47 -0700 Subject: qemu: Update to qemu 8.1.0 Backport the QEMU 8.1.x integration from current poky (commit 4bb222e0d71a4cb159b8a4f1a90b65b1af32ac10). Add Xilinx specific integration. Add required libslirp recipe from current poky. Also update the qemu-devicetree to the latest version. Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/layer.conf | 2 +- .../recipes-connectivity/slirp/libslirp_git.bb | 18 ++ .../recipes-devtools/qemu/qemu-8.1.inc | 280 ++++++++++++++++ ...dition-environment-space-to-boot-loader-q.patch | 33 ++ ...Replace-use-of-lfs64-related-functions-an.patch | 355 +++++++++++++++++++++ .../0003-apic-fixup-fallthrough-to-PIC.patch | 44 +++ ...ure-Add-pkg-config-handling-for-libgcrypt.patch | 29 ++ ...05-qemu-Do-not-include-file-if-not-exists.patch | 32 ++ ...me-user-space-mmap-tweaks-to-address-musl.patch | 49 +++ .../qemu-8.1/0007-qemu-Determinism-fixes.patch | 31 ++ ....build-use-relative-path-to-refer-to-file.patch | 41 +++ ...SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch | 46 +++ ...rotect-against-buggy-or-malicious-guest-d.patch | 40 +++ .../recipes-devtools/qemu/qemu-8.1/cross.patch | 38 +++ .../qemu/qemu-8.1/fixedmeson.patch | 20 ++ .../recipes-devtools/qemu/qemu-8.1/fixmips.patch | 18 ++ .../recipes-devtools/qemu/qemu-8.1/powerpc_rom.bin | Bin 0 -> 4096 bytes .../qemu/qemu-8.1/qemu-guest-agent.init | 75 +++++ .../qemu/qemu-8.1/qemu-guest-agent.udev | 2 + .../recipes-devtools/qemu/qemu-8.1/run-ptest | 13 + .../qemu/qemu-devicetrees_2024.1.bb | 2 +- .../recipes-devtools/qemu/qemu-native-8.1.inc | 7 + .../recipes-devtools/qemu/qemu-targets-8.1.inc | 28 ++ .../recipes-devtools/qemu/qemu-xilinx-2024.1.inc | 4 +- .../recipes-devtools/qemu/qemu-xilinx-8.1.inc | 78 +++++ .../qemu/qemu-xilinx-native-8.1.inc | 2 + .../recipes-devtools/qemu/qemu-xilinx-native.inc | 11 - .../qemu/qemu-xilinx-native_2024.1.bb | 10 +- .../qemu/qemu-xilinx-system-native_2024.1.bb | 29 +- .../recipes-devtools/qemu/qemu-xilinx_2024.1.bb | 32 +- 30 files changed, 1331 insertions(+), 38 deletions(-) create mode 100644 meta-xilinx-core/recipes-connectivity/slirp/libslirp_git.bb create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-8.1.inc create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0001-qemu-Add-addition-environment-space-to-boot-loader-q.patch create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0002-linux-user-Replace-use-of-lfs64-related-functions-an.patch create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0003-apic-fixup-fallthrough-to-PIC.patch create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0004-configure-Add-pkg-config-handling-for-libgcrypt.patch create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0005-qemu-Do-not-include-file-if-not-exists.patch create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0006-qemu-Add-some-user-space-mmap-tweaks-to-address-musl.patch create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0007-qemu-Determinism-fixes.patch create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0008-tests-meson.build-use-relative-path-to-refer-to-file.patch create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0009-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0010-hw-pvrdma-Protect-against-buggy-or-malicious-guest-d.patch create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/cross.patch create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/fixedmeson.patch create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/fixmips.patch create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/powerpc_rom.bin create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/qemu-guest-agent.init create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/qemu-guest-agent.udev create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/run-ptest create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-native-8.1.inc create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-targets-8.1.inc create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-8.1.inc create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native-8.1.inc delete mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native.inc diff --git a/meta-xilinx-core/conf/layer.conf b/meta-xilinx-core/conf/layer.conf index 9c8e6b94..752eeb37 100644 --- a/meta-xilinx-core/conf/layer.conf +++ b/meta-xilinx-core/conf/layer.conf @@ -48,7 +48,7 @@ BUILDCFG_VARS:append = " SOC_VARIANT XILINX_RELEASE_VERSION" XILINX_QEMU_VERSION[v2023.1] = "v7.1.0-xilinx-v2023.1%" XILINX_QEMU_VERSION[v2023.2] = "v7.1.0-xilinx-v2023.2%" -XILINX_QEMU_VERSION[v2024.1] = "v7.1.0-xilinx-v2024.1%" +XILINX_QEMU_VERSION[v2024.1] = "v8.1.0-xilinx-v2024.1%" PREFERRED_VERSION_qemu-xilinx ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" PREFERRED_VERSION_qemu-xilinx-native ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" PREFERRED_VERSION_qemu-xilinx-system-native ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" diff --git a/meta-xilinx-core/recipes-connectivity/slirp/libslirp_git.bb b/meta-xilinx-core/recipes-connectivity/slirp/libslirp_git.bb new file mode 100644 index 00000000..334b786b --- /dev/null +++ b/meta-xilinx-core/recipes-connectivity/slirp/libslirp_git.bb @@ -0,0 +1,18 @@ +SUMMARY = "A general purpose TCP-IP emulator" +DESCRIPTION = "A general purpose TCP-IP emulator used by virtual machine hypervisors to provide virtual networking services." +HOMEPAGE = "https://gitlab.freedesktop.org/slirp/libslirp" +LICENSE = "BSD-3-Clause & MIT" +LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=bca0186b14e6b05e338e729f106db727" + +SRC_URI = "git://gitlab.freedesktop.org/slirp/libslirp.git;protocol=https;branch=master" +SRCREV = "3ad1710a96678fe79066b1469cead4058713a1d9" +PV = "4.7.0" +S = "${WORKDIR}/git" + +DEPENDS = " \ + glib-2.0 \ +" + +inherit meson pkgconfig + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1.inc new file mode 100644 index 00000000..a6920fec --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1.inc @@ -0,0 +1,280 @@ +SUMMARY = "Fast open source processor emulator" +DESCRIPTION = "QEMU is a hosted virtual machine monitor: it emulates the \ +machine's processor through dynamic binary translation and provides a set \ +of different hardware and device models for the machine, enabling it to run \ +a variety of guest operating systems" +HOMEPAGE = "http://qemu.org" +LICENSE = "GPL-2.0-only & LGPL-2.1-only" + +RDEPENDS:${PN}-ptest = "bash" + +require qemu-targets-8.1.inc +# https://gitlab.com/qemu-project/qemu/-/commit/81e2b198a8cb4ee5fdf108bd438f44b193ee3a36 means +# we need a full python3-native setup +inherit pkgconfig ptest update-rc.d systemd python3native + +LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \ + file://COPYING.LIB;endline=24;md5=8c5efda6cf1e1b03dcfd0e6c0d271c7f" + +SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \ + file://powerpc_rom.bin \ + file://run-ptest \ + file://0001-qemu-Add-addition-environment-space-to-boot-loader-q.patch \ + file://0003-apic-fixup-fallthrough-to-PIC.patch \ + file://0004-configure-Add-pkg-config-handling-for-libgcrypt.patch \ + file://0005-qemu-Do-not-include-file-if-not-exists.patch \ + file://0006-qemu-Add-some-user-space-mmap-tweaks-to-address-musl.patch \ + file://0007-qemu-Determinism-fixes.patch \ + file://0008-tests-meson.build-use-relative-path-to-refer-to-file.patch \ + file://0009-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch \ + file://0010-hw-pvrdma-Protect-against-buggy-or-malicious-guest-d.patch \ + file://0002-linux-user-Replace-use-of-lfs64-related-functions-an.patch \ + file://fixedmeson.patch \ + file://fixmips.patch \ + file://qemu-guest-agent.init \ + file://qemu-guest-agent.udev \ + " +UPSTREAM_CHECK_REGEX = "qemu-(?P\d+(\.\d+)+)\.tar" + + +SRC_URI[sha256sum] = "541526a764576eb494d2ff5ec46aeb253e62ea29035d1c23c0a8af4e6cd4f087" + +SRC_URI:append:class-target = " file://cross.patch" +SRC_URI:append:class-nativesdk = " file://cross.patch" + +CVE_STATUS[CVE-2017-5957] = "cpe-incorrect: Applies against virglrender < 0.6.0 and not qemu itself" + +CVE_STATUS[CVE-2007-0998] = "not-applicable-config: The VNC server can expose host files uder some circumstances. We don't enable it by default." + +# https://bugzilla.redhat.com/show_bug.cgi?id=1609015#c11 +CVE_STATUS[CVE-2018-18438] = "disputed: The issues identified by this CVE were determined to not constitute a vulnerability." + +# As per https://nvd.nist.gov/vuln/detail/CVE-2023-0664 +# https://bugzilla.redhat.com/show_bug.cgi?id=2167423 +CVE_STATUS[CVE-2023-0664] = "not-applicable-platform: Issue only applies on Windows" + +# As per https://bugzilla.redhat.com/show_bug.cgi?id=2203387 +CVE_STATUS[CVE-2023-2680] = "not-applicable-platform: RHEL specific issue." + +COMPATIBLE_HOST:mipsarchn32 = "null" +COMPATIBLE_HOST:mipsarchn64 = "null" +COMPATIBLE_HOST:riscv32 = "null" + +# Per https://lists.nongnu.org/archive/html/qemu-devel/2020-09/msg03873.html +# upstream states qemu doesn't work without optimization +DEBUG_BUILD = "0" + +do_install:append() { + # Prevent QA warnings about installed ${localstatedir}/run + if [ -d ${D}${localstatedir}/run ]; then rmdir ${D}${localstatedir}/run; fi +} + +do_install_ptest() { + cp -rL ${B}/tests ${D}${PTEST_PATH} + find ${D}${PTEST_PATH}/tests -type f -name "*.[Sshcodp]" | xargs -i rm -rf {} + + # Don't check the file genreated by configure + sed -i -e "1s,#!/usr/bin/bash,#!${base_bindir}/bash," ${D}${PTEST_PATH}/tests/data/acpi/disassemle-aml.sh + + # Strip the paths from the QEMU variable, we can use PATH + makfiles=$(find ${D}${PTEST_PATH} -name "*.mak") + sed -i -e "s#^QEMU=.*/qemu-#QEMU=qemu-#g" $makfiles + + # Strip compiler flags as they break reproducibility + sed -i -e "s,^CC=.*,CC=gcc," \ + -e "s,^CCAS=.*,CCAS=gcc," \ + -e "s,^LD=.*,LD=ld," $makfiles + + # Update SRC_PATH variable to the right place on target + sed -i -e "s#^SRC_PATH=.*#SRC_PATH=${PTEST_PATH}#g" $makfiles + + # https://gitlab.com/qemu-project/qemu/-/issues/1403 + rm ${D}${PTEST_PATH}/tests/unit/test-io-channel-command +} + +# QEMU_TARGETS is overridable variable +QEMU_TARGETS ?= "arm aarch64 i386 loongarch64 mips mipsel mips64 mips64el ppc ppc64 ppc64le riscv32 riscv64 sh4 x86_64" + +EXTRA_OECONF = " \ + --prefix=${prefix} \ + --bindir=${bindir} \ + --includedir=${includedir} \ + --libdir=${libdir} \ + --mandir=${mandir} \ + --datadir=${datadir} \ + --docdir=${docdir}/${BPN} \ + --sysconfdir=${sysconfdir} \ + --libexecdir=${libexecdir} \ + --localstatedir=${localstatedir} \ + --with-suffix=${BPN} \ + --disable-strip \ + --disable-werror \ + --extra-cflags='${CFLAGS}' \ + --extra-ldflags='${LDFLAGS}' \ + --disable-download \ + --disable-docs \ + ${PACKAGECONFIG_CONFARGS} \ + " + +B = "${WORKDIR}/build" + +#EXTRA_OECONF:append = " --python=${HOSTTOOLS_DIR}/python3" + +do_configure:prepend:class-native() { + # Append build host pkg-config paths for native target since the host may provide sdl + BHOST_PKGCONFIG_PATH=$(PATH=/usr/bin:/bin pkg-config --variable pc_path pkg-config || echo "") + if [ ! -z "$BHOST_PKGCONFIG_PATH" ]; then + export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$BHOST_PKGCONFIG_PATH + fi +} + +do_configure() { + ${S}/configure ${EXTRA_OECONF} +} +do_configure[cleandirs] += "${B}" + +do_install () { + export STRIP="" + oe_runmake 'DESTDIR=${D}' install + + # If we built the guest agent, also install startup/udev rules + if [ -e "${D}${bindir}/qemu-ga" ]; then + install -d ${D}${sysconfdir}/init.d/ + install -m 0755 ${WORKDIR}/qemu-guest-agent.init ${D}${sysconfdir}/init.d/qemu-guest-agent + sed -i 's:@bindir@:${bindir}:' ${D}${sysconfdir}/init.d/qemu-guest-agent + + install -d ${D}${sysconfdir}/udev/rules.d/ + install -m 0644 ${WORKDIR}/qemu-guest-agent.udev ${D}${sysconfdir}/udev/rules.d/60-qemu-guest-agent.rules + + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${S}/contrib/systemd/qemu-guest-agent.service ${D}${systemd_unitdir}/system + sed -i -e 's,-/usr/bin/,-${bindir}/,g' ${D}${systemd_unitdir}/system/qemu-guest-agent.service + fi + # ELF binary /usr/share/qemu/s390-netboot.img has relocations in .text + rm ${D}${datadir}/qemu/s390-netboot.img -f + # ELF binary /usr/share/qemu/s390-ccw.img has relocations in .text [textrel] + rm ${D}${datadir}/qemu/s390-ccw.img -f +} + +# The following fragment will create a wrapper for qemu-mips user emulation +# binary in order to work around a segmentation fault issue. Basically, by +# default, the reserved virtual address space for 32-on-64 bit is set to 4GB. +# This will trigger a MMU access fault in the virtual CPU. With this change, +# the qemu-mips works fine. +# IMPORTANT: This piece needs to be removed once the root cause is fixed! +do_install:append() { + if [ -e "${D}/${bindir}/qemu-mips" ]; then + create_wrapper ${D}/${bindir}/qemu-mips \ + QEMU_RESERVED_VA=0x0 + fi +} +# END of qemu-mips workaround + +# Disable kvm/virgl/mesa on targets that do not support it +PACKAGECONFIG:remove:darwin = "kvm virglrenderer epoxy gtk+" +PACKAGECONFIG:remove:mingw32 = "kvm virglrenderer epoxy gtk+" + +PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,libsdl2" +PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng" +PACKAGECONFIG[virtfs] = "--enable-virtfs --enable-attr --enable-cap-ng,--disable-virtfs,libcap-ng attr," +PACKAGECONFIG[aio] = "--enable-linux-aio,--disable-linux-aio,libaio," +PACKAGECONFIG[uring] = "--enable-linux-io-uring,--disable-linux-io-uring,liburing" +PACKAGECONFIG[xen] = "--enable-xen,--disable-xen,xen-tools,xen-tools-libxenstore xen-tools-libxenctrl xen-tools-libxenguest" +PACKAGECONFIG[vnc-sasl] = "--enable-vnc --enable-vnc-sasl,--disable-vnc-sasl,cyrus-sasl," +PACKAGECONFIG[vnc-jpeg] = "--enable-vnc --enable-vnc-jpeg,--disable-vnc-jpeg,jpeg," +PACKAGECONFIG[libcurl] = "--enable-curl,--disable-curl,curl," +PACKAGECONFIG[nss] = "--enable-smartcard,--disable-smartcard,nss," +PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses," +PACKAGECONFIG[gtk+] = "--enable-gtk,--disable-gtk,gtk+3 gettext-native" +PACKAGECONFIG[vte] = "--enable-vte,--disable-vte,vte gettext-native" +PACKAGECONFIG[libcap-ng] = "--enable-cap-ng,--disable-cap-ng,libcap-ng," +PACKAGECONFIG[ssh] = "--enable-libssh,--disable-libssh,libssh," +PACKAGECONFIG[gcrypt] = "--enable-gcrypt,--disable-gcrypt,libgcrypt," +PACKAGECONFIG[nettle] = "--enable-nettle,--disable-nettle,nettle" +PACKAGECONFIG[libusb] = "--enable-libusb,--disable-libusb,libusb1" +PACKAGECONFIG[fdt] = "--enable-fdt,--disable-fdt,dtc" +PACKAGECONFIG[alsa] = "--audio-drv-list=default,,alsa-lib" +PACKAGECONFIG[epoxy] = "--enable-opengl,--disable-opengl,libepoxy" +PACKAGECONFIG[lzo] = "--enable-lzo,--disable-lzo,lzo" +PACKAGECONFIG[dax] = "--enable-libdaxctl,--disable-libdaxctl,ndctl" +PACKAGECONFIG[numa] = "--enable-numa,--disable-numa,numactl" +PACKAGECONFIG[gnutls] = "--enable-gnutls,--disable-gnutls,gnutls" +PACKAGECONFIG[bzip2] = "--enable-bzip2,--disable-bzip2,bzip2" +PACKAGECONFIG[libiscsi] = "--enable-libiscsi,--disable-libiscsi" +PACKAGECONFIG[kvm] = "--enable-kvm,--disable-kvm" +PACKAGECONFIG[virglrenderer] = "--enable-virglrenderer,--disable-virglrenderer,virglrenderer" +# spice will be in meta-networking layer +PACKAGECONFIG[spice] = "--enable-spice,--disable-spice,spice" +# usbredir will be in meta-networking layer +PACKAGECONFIG[dbus-display] = "--enable-dbus-display,--disable-dbus-display,glib-2.0-native,dbus" +PACKAGECONFIG[usb-redir] = "--enable-usb-redir,--disable-usb-redir,usbredir" +PACKAGECONFIG[snappy] = "--enable-snappy,--disable-snappy,snappy" +PACKAGECONFIG[glusterfs] = "--enable-glusterfs,--disable-glusterfs,glusterfs" +PACKAGECONFIG[xkbcommon] = "--enable-xkbcommon,--disable-xkbcommon,libxkbcommon" +PACKAGECONFIG[libudev] = "--enable-libudev,--disable-libudev,udev" +PACKAGECONFIG[attr] = "--enable-attr,--disable-attr,attr," +PACKAGECONFIG[rbd] = "--enable-rbd,--disable-rbd,ceph,ceph" +PACKAGECONFIG[vhost] = "--enable-vhost-net,--disable-vhost-net,," +PACKAGECONFIG[ust] = "--enable-trace-backends=ust,,lttng-ust," +PACKAGECONFIG[pie] = "--enable-pie,--disable-pie,," +PACKAGECONFIG[seccomp] = "--enable-seccomp,--disable-seccomp,libseccomp" +# libnfs is currently provided by meta-kodi +PACKAGECONFIG[libnfs] = "--enable-libnfs,--disable-libnfs,libnfs" +PACKAGECONFIG[pmem] = "--enable-libpmem,--disable-libpmem,pmdk" +PACKAGECONFIG[pulseaudio] = "--enable-pa,--disable-pa,pulseaudio" +PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux" +PACKAGECONFIG[bpf] = "--enable-bpf,--disable-bpf,libbpf" +PACKAGECONFIG[capstone] = "--enable-capstone,--disable-capstone" +PACKAGECONFIG[rdma] = "--enable-rdma,--disable-rdma" +PACKAGECONFIG[vde] = "--enable-vde,--disable-vde" +PACKAGECONFIG[fuse] = "--enable-fuse --enable-fuse-lseek,--disable-fuse --disable-fuse-lseek,fuse3" +PACKAGECONFIG[slirp] = "--enable-slirp,--disable-slirp,libslirp" +PACKAGECONFIG[brlapi] = "--enable-brlapi,--disable-brlapi" +PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack," +PACKAGECONFIG[debuginfo] = "--enable-libdw,--disable-libdw,elfutils" + +INSANE_SKIP:${PN}-common = "arch" + +FILES:${PN} += "${datadir}/icons" + +# For user who want to install all arch packages +PACKAGES =+ "${PN}-common" +RDEPENDS:${PN} += "${PN}-common" + +ALLOW_EMPTY:${PN} = "1" +FILES:${PN} = "" + +FILES:${PN}-common = "${bindir}/* ${includedir}/* ${libexecdir}/* ${datadir}/* ${localstatedir}" + +PACKAGES_DYNAMIC += "^${PN}-user-.* ^${PN}-system-.*" + +PACKAGESPLITFUNCS =+ "split_qemu_packages" + +python split_qemu_packages () { + archdir = d.expand('${bindir}/') + subpackages = do_split_packages(d, archdir, r'^qemu-system-(.*)$', '${PN}-system-%s', 'QEMU full system emulation binaries(%s)' , prepend=True, extra_depends='${PN}-common') + + subpackages += do_split_packages(d, archdir, r'^qemu-((?!system|edid|ga|img|io|nbd|pr-helper|storage-daemon).*)$', '${PN}-user-%s', 'QEMU full user emulation binaries(%s)' , prepend=True, extra_depends='${PN}-common') + if subpackages: + d.appendVar('RDEPENDS:' + d.getVar('PN'), ' ' + ' '.join(subpackages)) + mipspackage = d.getVar('PN') + "-user-mips" + if mipspackage in ' '.join(subpackages): + d.appendVar('RDEPENDS:' + mipspackage, ' ' + d.getVar("MLPREFIX") + 'bash') +} + +# Put the guest agent in a separate package +PACKAGES =+ "${PN}-guest-agent" +SUMMARY:${PN}-guest-agent = "QEMU guest agent" +FILES:${PN}-guest-agent += " \ + ${bindir}/qemu-ga \ + ${sysconfdir}/udev/rules.d/60-qemu-guest-agent.rules \ + ${sysconfdir}/init.d/qemu-guest-agent \ + ${systemd_unitdir}/system/qemu-guest-agent.service \ +" + +INITSCRIPT_PACKAGES = "${PN}-guest-agent" +INITSCRIPT_NAME:${PN}-guest-agent = "qemu-guest-agent" +INITSCRIPT_PARAMS:${PN}-guest-agent = "defaults" + +SYSTEMD_PACKAGES = "${PN}-guest-agent" +SYSTEMD_SERVICE:${PN}-guest-agent = "qemu-guest-agent.service" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0001-qemu-Add-addition-environment-space-to-boot-loader-q.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0001-qemu-Add-addition-environment-space-to-boot-loader-q.patch new file mode 100644 index 00000000..c6550801 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0001-qemu-Add-addition-environment-space-to-boot-loader-q.patch @@ -0,0 +1,33 @@ +From de64af82950a6908f9407dfc92b83c17e2af3eab Mon Sep 17 00:00:00 2001 +From: Jason Wessel +Date: Fri, 28 Mar 2014 17:42:43 +0800 +Subject: [PATCH 01/12] qemu: Add addition environment space to boot loader + qemu-system-mips + +Upstream-Status: Inappropriate - OE uses deep paths + +If you create a project with very long directory names like 128 characters +deep and use NFS, the kernel arguments will be truncated. The kernel will +accept longer strings such as 1024 bytes, but the qemu boot loader defaulted +to only 256 bytes. This patch expands the limit. + +Signed-off-by: Jason Wessel +Signed-off-by: Roy Li + +--- + hw/mips/malta.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: qemu-8.0.0/hw/mips/malta.c +=================================================================== +--- qemu-8.0.0.orig/hw/mips/malta.c ++++ qemu-8.0.0/hw/mips/malta.c +@@ -64,7 +64,7 @@ + #define ENVP_PADDR 0x2000 + #define ENVP_VADDR cpu_mips_phys_to_kseg0(NULL, ENVP_PADDR) + #define ENVP_NB_ENTRIES 16 +-#define ENVP_ENTRY_SIZE 256 ++#define ENVP_ENTRY_SIZE 1024 + + /* Hardware addresses */ + #define FLASH_ADDRESS 0x1e000000ULL diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0002-linux-user-Replace-use-of-lfs64-related-functions-an.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0002-linux-user-Replace-use-of-lfs64-related-functions-an.patch new file mode 100644 index 00000000..ceae67be --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0002-linux-user-Replace-use-of-lfs64-related-functions-an.patch @@ -0,0 +1,355 @@ +From 71f14902256e3c3529710b713e1ea43100bf4c40 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 17 Dec 2022 08:37:46 -0800 +Subject: [PATCH 2/2] linux-user: Replace use of lfs64 related functions and + macros + +Builds defines -D_FILE_OFFSET_BITS=64 which makes the original functions +anf macros behave same as their 64 suffixed counterparts. This also +helps in compiling with latest musl C library, where these macros and +functions are no more available under _GNU_SOURCE feature macro + +Upstream-Status: Submitted [https://lists.gnu.org/archive/html/qemu-devel/2022-12/msg02841.html] +Signed-off-by: Khem Raj +Cc: Laurent Vivier +--- + linux-user/syscall.c | 153 +++++++++++-------------------------------- + 1 file changed, 39 insertions(+), 114 deletions(-) + +Index: qemu-8.0.0/linux-user/syscall.c +=================================================================== +--- qemu-8.0.0.orig/linux-user/syscall.c ++++ qemu-8.0.0/linux-user/syscall.c +@@ -761,8 +761,8 @@ safe_syscall6(ssize_t, copy_file_range, + */ + #define safe_ioctl(...) safe_syscall(__NR_ioctl, __VA_ARGS__) + /* Similarly for fcntl. Note that callers must always: +- * pass the F_GETLK64 etc constants rather than the unsuffixed F_GETLK +- * use the flock64 struct rather than unsuffixed flock ++ * pass the F_GETLK etc constants rather than the unsuffixed F_GETLK ++ * use the flock struct rather than unsuffixed flock + * This will then work and use a 64-bit offset for both 32-bit and 64-bit hosts. + */ + #ifdef __NR_fcntl64 +@@ -6813,13 +6813,13 @@ static int target_to_host_fcntl_cmd(int + ret = cmd; + break; + case TARGET_F_GETLK: +- ret = F_GETLK64; ++ ret = F_GETLK; + break; + case TARGET_F_SETLK: +- ret = F_SETLK64; ++ ret = F_SETLK; + break; + case TARGET_F_SETLKW: +- ret = F_SETLKW64; ++ ret = F_SETLKW; + break; + case TARGET_F_GETOWN: + ret = F_GETOWN; +@@ -6833,17 +6833,6 @@ static int target_to_host_fcntl_cmd(int + case TARGET_F_SETSIG: + ret = F_SETSIG; + break; +-#if TARGET_ABI_BITS == 32 +- case TARGET_F_GETLK64: +- ret = F_GETLK64; +- break; +- case TARGET_F_SETLK64: +- ret = F_SETLK64; +- break; +- case TARGET_F_SETLKW64: +- ret = F_SETLKW64; +- break; +-#endif + case TARGET_F_SETLEASE: + ret = F_SETLEASE; + break; +@@ -6895,8 +6884,8 @@ static int target_to_host_fcntl_cmd(int + * them to 5, 6 and 7 before making the syscall(). Since we make the + * syscall directly, adjust to what is supported by the kernel. + */ +- if (ret >= F_GETLK64 && ret <= F_SETLKW64) { +- ret -= F_GETLK64 - 5; ++ if (ret >= F_GETLK && ret <= F_SETLKW) { ++ ret -= F_GETLK - 5; + } + #endif + +@@ -6929,55 +6918,11 @@ static int host_to_target_flock(int type + return type; + } + +-static inline abi_long copy_from_user_flock(struct flock64 *fl, +- abi_ulong target_flock_addr) +-{ +- struct target_flock *target_fl; +- int l_type; +- +- if (!lock_user_struct(VERIFY_READ, target_fl, target_flock_addr, 1)) { +- return -TARGET_EFAULT; +- } +- +- __get_user(l_type, &target_fl->l_type); +- l_type = target_to_host_flock(l_type); +- if (l_type < 0) { +- return l_type; +- } +- fl->l_type = l_type; +- __get_user(fl->l_whence, &target_fl->l_whence); +- __get_user(fl->l_start, &target_fl->l_start); +- __get_user(fl->l_len, &target_fl->l_len); +- __get_user(fl->l_pid, &target_fl->l_pid); +- unlock_user_struct(target_fl, target_flock_addr, 0); +- return 0; +-} +- +-static inline abi_long copy_to_user_flock(abi_ulong target_flock_addr, +- const struct flock64 *fl) +-{ +- struct target_flock *target_fl; +- short l_type; +- +- if (!lock_user_struct(VERIFY_WRITE, target_fl, target_flock_addr, 0)) { +- return -TARGET_EFAULT; +- } +- +- l_type = host_to_target_flock(fl->l_type); +- __put_user(l_type, &target_fl->l_type); +- __put_user(fl->l_whence, &target_fl->l_whence); +- __put_user(fl->l_start, &target_fl->l_start); +- __put_user(fl->l_len, &target_fl->l_len); +- __put_user(fl->l_pid, &target_fl->l_pid); +- unlock_user_struct(target_fl, target_flock_addr, 1); +- return 0; +-} +- +-typedef abi_long from_flock64_fn(struct flock64 *fl, abi_ulong target_addr); +-typedef abi_long to_flock64_fn(abi_ulong target_addr, const struct flock64 *fl); ++typedef abi_long from_flock_fn(struct flock *fl, abi_ulong target_addr); ++typedef abi_long to_flock_fn(abi_ulong target_addr, const struct flock *fl); + + #if defined(TARGET_ARM) && TARGET_ABI_BITS == 32 +-struct target_oabi_flock64 { ++struct target_oabi_flock { + abi_short l_type; + abi_short l_whence; + abi_llong l_start; +@@ -6985,10 +6930,10 @@ struct target_oabi_flock64 { + abi_int l_pid; + } QEMU_PACKED; + +-static inline abi_long copy_from_user_oabi_flock64(struct flock64 *fl, ++static inline abi_long copy_from_user_oabi_flock(struct flock *fl, + abi_ulong target_flock_addr) + { +- struct target_oabi_flock64 *target_fl; ++ struct target_oabi_flock *target_fl; + int l_type; + + if (!lock_user_struct(VERIFY_READ, target_fl, target_flock_addr, 1)) { +@@ -7009,10 +6954,10 @@ static inline abi_long copy_from_user_oa + return 0; + } + +-static inline abi_long copy_to_user_oabi_flock64(abi_ulong target_flock_addr, +- const struct flock64 *fl) ++static inline abi_long copy_to_user_oabi_flock(abi_ulong target_flock_addr, ++ const struct flock *fl) + { +- struct target_oabi_flock64 *target_fl; ++ struct target_oabi_flock *target_fl; + short l_type; + + if (!lock_user_struct(VERIFY_WRITE, target_fl, target_flock_addr, 0)) { +@@ -7030,10 +6975,10 @@ static inline abi_long copy_to_user_oabi + } + #endif + +-static inline abi_long copy_from_user_flock64(struct flock64 *fl, ++static inline abi_long copy_from_user_flock(struct flock *fl, + abi_ulong target_flock_addr) + { +- struct target_flock64 *target_fl; ++ struct target_flock *target_fl; + int l_type; + + if (!lock_user_struct(VERIFY_READ, target_fl, target_flock_addr, 1)) { +@@ -7054,10 +6999,10 @@ static inline abi_long copy_from_user_fl + return 0; + } + +-static inline abi_long copy_to_user_flock64(abi_ulong target_flock_addr, +- const struct flock64 *fl) ++static inline abi_long copy_to_user_flock(abi_ulong target_flock_addr, ++ const struct flock *fl) + { +- struct target_flock64 *target_fl; ++ struct target_flock *target_fl; + short l_type; + + if (!lock_user_struct(VERIFY_WRITE, target_fl, target_flock_addr, 0)) { +@@ -7076,7 +7021,7 @@ static inline abi_long copy_to_user_floc + + static abi_long do_fcntl(int fd, int cmd, abi_ulong arg) + { +- struct flock64 fl64; ++ struct flock fl64; + #ifdef F_GETOWN_EX + struct f_owner_ex fox; + struct target_f_owner_ex *target_fox; +@@ -7089,6 +7034,7 @@ static abi_long do_fcntl(int fd, int cmd + + switch(cmd) { + case TARGET_F_GETLK: ++ case TARGET_F_OFD_GETLK: + ret = copy_from_user_flock(&fl64, arg); + if (ret) { + return ret; +@@ -7098,32 +7044,11 @@ static abi_long do_fcntl(int fd, int cmd + ret = copy_to_user_flock(arg, &fl64); + } + break; +- + case TARGET_F_SETLK: + case TARGET_F_SETLKW: +- ret = copy_from_user_flock(&fl64, arg); +- if (ret) { +- return ret; +- } +- ret = get_errno(safe_fcntl(fd, host_cmd, &fl64)); +- break; +- +- case TARGET_F_GETLK64: +- case TARGET_F_OFD_GETLK: +- ret = copy_from_user_flock64(&fl64, arg); +- if (ret) { +- return ret; +- } +- ret = get_errno(safe_fcntl(fd, host_cmd, &fl64)); +- if (ret == 0) { +- ret = copy_to_user_flock64(arg, &fl64); +- } +- break; +- case TARGET_F_SETLK64: +- case TARGET_F_SETLKW64: + case TARGET_F_OFD_SETLK: + case TARGET_F_OFD_SETLKW: +- ret = copy_from_user_flock64(&fl64, arg); ++ ret = copy_from_user_flock(&fl64, arg); + if (ret) { + return ret; + } +@@ -7348,7 +7273,7 @@ static inline abi_long target_truncate64 + arg2 = arg3; + arg3 = arg4; + } +- return get_errno(truncate64(arg1, target_offset64(arg2, arg3))); ++ return get_errno(truncate(arg1, target_offset64(arg2, arg3))); + } + #endif + +@@ -7362,7 +7287,7 @@ static inline abi_long target_ftruncate6 + arg2 = arg3; + arg3 = arg4; + } +- return get_errno(ftruncate64(arg1, target_offset64(arg2, arg3))); ++ return get_errno(ftruncate(arg1, target_offset64(arg2, arg3))); + } + #endif + +@@ -8598,7 +8523,7 @@ static int do_getdents(abi_long dirfd, a + void *tdirp; + int hlen, hoff, toff; + int hreclen, treclen; +- off64_t prev_diroff = 0; ++ off_t prev_diroff = 0; + + hdirp = g_try_malloc(count); + if (!hdirp) { +@@ -8651,7 +8576,7 @@ static int do_getdents(abi_long dirfd, a + * Return what we have, resetting the file pointer to the + * location of the first record not returned. + */ +- lseek64(dirfd, prev_diroff, SEEK_SET); ++ lseek(dirfd, prev_diroff, SEEK_SET); + break; + } + +@@ -8685,7 +8610,7 @@ static int do_getdents64(abi_long dirfd, + void *tdirp; + int hlen, hoff, toff; + int hreclen, treclen; +- off64_t prev_diroff = 0; ++ off_t prev_diroff = 0; + + hdirp = g_try_malloc(count); + if (!hdirp) { +@@ -8727,7 +8652,7 @@ static int do_getdents64(abi_long dirfd, + * Return what we have, resetting the file pointer to the + * location of the first record not returned. + */ +- lseek64(dirfd, prev_diroff, SEEK_SET); ++ lseek(dirfd, prev_diroff, SEEK_SET); + break; + } + +@@ -11158,7 +11083,7 @@ static abi_long do_syscall1(CPUArchState + return -TARGET_EFAULT; + } + } +- ret = get_errno(pread64(arg1, p, arg3, target_offset64(arg4, arg5))); ++ ret = get_errno(pread(arg1, p, arg3, target_offset64(arg4, arg5))); + unlock_user(p, arg2, ret); + return ret; + case TARGET_NR_pwrite64: +@@ -11175,7 +11100,7 @@ static abi_long do_syscall1(CPUArchState + return -TARGET_EFAULT; + } + } +- ret = get_errno(pwrite64(arg1, p, arg3, target_offset64(arg4, arg5))); ++ ret = get_errno(pwrite(arg1, p, arg3, target_offset64(arg4, arg5))); + unlock_user(p, arg2, 0); + return ret; + #endif +@@ -11998,14 +11923,14 @@ static abi_long do_syscall1(CPUArchState + case TARGET_NR_fcntl64: + { + int cmd; +- struct flock64 fl; +- from_flock64_fn *copyfrom = copy_from_user_flock64; +- to_flock64_fn *copyto = copy_to_user_flock64; ++ struct flock fl; ++ from_flock_fn *copyfrom = copy_from_user_flock; ++ to_flock_fn *copyto = copy_to_user_flock; + + #ifdef TARGET_ARM + if (!cpu_env->eabi) { +- copyfrom = copy_from_user_oabi_flock64; +- copyto = copy_to_user_oabi_flock64; ++ copyfrom = copy_from_user_oabi_flock; ++ copyto = copy_to_user_oabi_flock; + } + #endif + +@@ -12015,7 +11940,7 @@ static abi_long do_syscall1(CPUArchState + } + + switch(arg2) { +- case TARGET_F_GETLK64: ++ case TARGET_F_GETLK: + ret = copyfrom(&fl, arg3); + if (ret) { + break; +@@ -12026,8 +11951,8 @@ static abi_long do_syscall1(CPUArchState + } + break; + +- case TARGET_F_SETLK64: +- case TARGET_F_SETLKW64: ++ case TARGET_F_SETLK: ++ case TARGET_F_SETLKW: + ret = copyfrom(&fl, arg3); + if (ret) { + break; diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0003-apic-fixup-fallthrough-to-PIC.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0003-apic-fixup-fallthrough-to-PIC.patch new file mode 100644 index 00000000..e85f8202 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0003-apic-fixup-fallthrough-to-PIC.patch @@ -0,0 +1,44 @@ +From dc2a8ccd440ee3741b61606eafed3f7e092f4312 Mon Sep 17 00:00:00 2001 +From: Mark Asselstine +Date: Tue, 26 Feb 2013 11:43:28 -0500 +Subject: [PATCH 03/12] apic: fixup fallthrough to PIC + +Commit 0e21e12bb311c4c1095d0269dc2ef81196ccb60a [Don't route PIC +interrupts through the local APIC if the local APIC config says so.] +missed a check to ensure the local APIC is enabled. Since if the local +APIC is disabled it doesn't matter what the local APIC config says. + +If this check isn't done and the guest has disabled the local APIC the +guest will receive a general protection fault, similar to what is seen +here: + +https://lists.gnu.org/archive/html/qemu-devel/2012-12/msg02304.html + +The GPF is caused by an attempt to service interrupt 0xffffffff. This +comes about since cpu_get_pic_interrupt() calls apic_accept_pic_intr() +(with the local APIC disabled apic_get_interrupt() returns -1). +apic_accept_pic_intr() returns 0 and thus the interrupt number which +is returned from cpu_get_pic_interrupt(), and which is attempted to be +serviced, is -1. + +Signed-off-by: Mark Asselstine +Upstream-Status: Submitted [https://lists.gnu.org/archive/html/qemu-devel/2013-04/msg00878.html] +Signed-off-by: He Zhe + +--- + hw/intc/apic.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: qemu-8.0.0/hw/intc/apic.c +=================================================================== +--- qemu-8.0.0.orig/hw/intc/apic.c ++++ qemu-8.0.0/hw/intc/apic.c +@@ -607,7 +607,7 @@ int apic_accept_pic_intr(DeviceState *de + APICCommonState *s = APIC(dev); + uint32_t lvt0; + +- if (!s) ++ if (!s || !(s->spurious_vec & APIC_SV_ENABLE)) + return -1; + + lvt0 = s->lvt[APIC_LVT_LINT0]; diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0004-configure-Add-pkg-config-handling-for-libgcrypt.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0004-configure-Add-pkg-config-handling-for-libgcrypt.patch new file mode 100644 index 00000000..f981a64a --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0004-configure-Add-pkg-config-handling-for-libgcrypt.patch @@ -0,0 +1,29 @@ +From d8265abdce5dc2bf74b3fccdf2b7257b4f3894f0 Mon Sep 17 00:00:00 2001 +From: He Zhe +Date: Wed, 28 Aug 2019 19:56:28 +0800 +Subject: [PATCH 04/12] configure: Add pkg-config handling for libgcrypt + +libgcrypt may also be controlled by pkg-config, this patch adds pkg-config +handling for libgcrypt. + +Upstream-Status: Denied [https://lists.nongnu.org/archive/html/qemu-devel/2019-08/msg06333.html] + +Signed-off-by: He Zhe + +--- + meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: qemu-8.1.0/meson.build +=================================================================== +--- qemu-8.1.0.orig/meson.build ++++ qemu-8.1.0/meson.build +@@ -1481,7 +1481,7 @@ endif + if not gnutls_crypto.found() + if (not get_option('gcrypt').auto() or have_system) and not get_option('nettle').enabled() + gcrypt = dependency('libgcrypt', version: '>=1.8', +- method: 'config-tool', ++ method: 'pkg-config', + required: get_option('gcrypt')) + # Debian has removed -lgpg-error from libgcrypt-config + # as it "spreads unnecessary dependencies" which in diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0005-qemu-Do-not-include-file-if-not-exists.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0005-qemu-Do-not-include-file-if-not-exists.patch new file mode 100644 index 00000000..38aa4c3b --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0005-qemu-Do-not-include-file-if-not-exists.patch @@ -0,0 +1,32 @@ +From f39e7bfc5ed07b5ecaeb705c4eae4855ca120d47 Mon Sep 17 00:00:00 2001 +From: Oleksiy Obitotskyy +Date: Wed, 25 Mar 2020 21:21:35 +0200 +Subject: [PATCH 05/12] qemu: Do not include file if not exists + +Script configure checks for if_alg.h and check failed but +if_alg.h still included. + +Upstream-Status: Submitted [https://lists.gnu.org/archive/html/qemu-devel/2020-03/msg07188.html] +Signed-off-by: Oleksiy Obitotskyy + +[update patch context] +Signed-off-by: Sakib Sajal + +--- + linux-user/syscall.c | 2 ++ + 1 file changed, 2 insertions(+) + +Index: qemu-8.0.0/linux-user/syscall.c +=================================================================== +--- qemu-8.0.0.orig/linux-user/syscall.c ++++ qemu-8.0.0/linux-user/syscall.c +@@ -115,7 +115,9 @@ + #include + #include + #include ++#if defined(CONFIG_AF_ALG) + #include ++#endif + #include + #include + #ifdef HAVE_BTRFS_H diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0006-qemu-Add-some-user-space-mmap-tweaks-to-address-musl.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0006-qemu-Add-some-user-space-mmap-tweaks-to-address-musl.patch new file mode 100644 index 00000000..5d1d7c68 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0006-qemu-Add-some-user-space-mmap-tweaks-to-address-musl.patch @@ -0,0 +1,49 @@ +From 375cae3dd6151ef33cae8f243f6a2c2da6c0c356 Mon Sep 17 00:00:00 2001 +From: Richard Purdie +Date: Fri, 8 Jan 2021 17:27:06 +0000 +Subject: [PATCH 06/12] qemu: Add some user space mmap tweaks to address musl + 32 bit + +When using qemu-i386 to build qemux86 webkitgtk on musl, it sits in an +infinite loop of mremap calls of ever decreasing/increasing addresses. + +I suspect something in the musl memory allocation code loops indefinitely +if it only sees ENOMEM and only exits when it hits EFAULT. + +According to the docs, trying to mremap outside the address space +can/should return EFAULT and changing this allows the build to succeed. + +A better return value for the other cases of invalid addresses is EINVAL +rather than ENOMEM so adjust the other part of the test to this. + +Upstream-Status: Submitted [https://lists.gnu.org/archive/html/qemu-devel/2021-01/msg01355.html] +Signed-off-by: Richard Purdie +Date: Mon, 1 Mar 2021 13:00:47 +0000 +Subject: [PATCH 07/12] qemu: Determinism fixes + +When sources are included within debug information, a couple of areas of the +qemu build are not reproducible due to either full buildpaths or timestamps. + +Replace the full paths with relative ones. I couldn't figure out how to get +meson to pass relative paths but we can fix that in the script. + +Upstream-Status: Pending [some version of all/part of this may be accepted] +RP 2021/3/1 + +--- + scripts/decodetree.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +Index: qemu-8.0.0/scripts/decodetree.py +=================================================================== +--- qemu-8.0.0.orig/scripts/decodetree.py ++++ qemu-8.0.0/scripts/decodetree.py +@@ -1328,7 +1328,7 @@ def main(): + toppat = ExcMultiPattern(0) + + for filename in args: +- input_file = filename ++ input_file = os.path.relpath(filename) + f = open(filename, 'rt', encoding='utf-8') + parse_file(f, toppat) + f.close() diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0008-tests-meson.build-use-relative-path-to-refer-to-file.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0008-tests-meson.build-use-relative-path-to-refer-to-file.patch new file mode 100644 index 00000000..a84364cc --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0008-tests-meson.build-use-relative-path-to-refer-to-file.patch @@ -0,0 +1,41 @@ +From 2bf9388b801d4389e2d57e95a7897bfc1c42786e Mon Sep 17 00:00:00 2001 +From: Changqing Li +Date: Thu, 14 Jan 2021 06:33:04 +0000 +Subject: [PATCH 08/12] tests/meson.build: use relative path to refer to files + +Fix error like: +Fatal error: can't create tests/ptimer-test.p/..._qemu-5.2.0_hw_core_ptimer.c.o: File name too long + +when build path is too long, use meson.source_root() will make this +filename too long. Fixed by using relative path to refer to files + +Upstream-Status: Submitted [send to qemu-devel] + +Signed-off-by: Changqing Li + +--- + tests/unit/meson.build | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +Index: qemu-8.0.0/tests/unit/meson.build +=================================================================== +--- qemu-8.0.0.orig/tests/unit/meson.build ++++ qemu-8.0.0/tests/unit/meson.build +@@ -46,7 +46,7 @@ tests = { + 'test-keyval': [testqapi], + 'test-logging': [], + 'test-uuid': [], +- 'ptimer-test': ['ptimer-test-stubs.c', meson.project_source_root() / 'hw/core/ptimer.c'], ++ 'ptimer-test': ['ptimer-test-stubs.c', '../../hw/core/ptimer.c'], + 'test-qapi-util': [], + 'test-interval-tree': [], + 'test-xs-node': [qom], +@@ -136,7 +136,7 @@ if have_system + 'test-util-sockets': ['socket-helpers.c'], + 'test-base64': [], + 'test-bufferiszero': [], +- 'test-smp-parse': [qom, meson.project_source_root() / 'hw/core/machine-smp.c'], ++ 'test-smp-parse': [qom, '../../hw/core/machine-smp.c'], + 'test-vmstate': [migration, io], + 'test-yank': ['socket-helpers.c', qom, io, chardev] + } diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0009-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0009-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch new file mode 100644 index 00000000..4de6cc24 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0009-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch @@ -0,0 +1,46 @@ +From ebf4bb2f51da83af0c61480414cfa156f7308b34 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Mon, 21 Mar 2022 10:09:38 -0700 +Subject: [PATCH 09/12] Define MAP_SYNC and MAP_SHARED_VALIDATE on needed linux + systems + +linux only wires MAP_SYNC and MAP_SHARED_VALIDATE for architectures +which include asm-generic/mman.h and mips/powerpc are not including this +file in linux/mman.h, therefore these should be defined for such +architectures on Linux as well. This fixes build on mips/musl/linux + +Upstream-Status: Submitted [https://lists.nongnu.org/archive/html/qemu-devel/2022-03/msg05298.html] +Signed-off-by: Khem Raj +Cc: Zhang Yi +Cc: Michael S. Tsirkin + +--- + util/mmap-alloc.c | 10 +++++++--- + 1 file changed, 7 insertions(+), 3 deletions(-) + +Index: qemu-8.0.0/util/mmap-alloc.c +=================================================================== +--- qemu-8.0.0.orig/util/mmap-alloc.c ++++ qemu-8.0.0/util/mmap-alloc.c +@@ -10,14 +10,18 @@ + * later. See the COPYING file in the top-level directory. + */ + ++#include "qemu/osdep.h" + #ifdef CONFIG_LINUX + #include +-#else /* !CONFIG_LINUX */ ++#endif /* CONFIG_LINUX */ ++ ++#ifndef MAP_SYNC + #define MAP_SYNC 0x0 ++#endif /* MAP_SYNC */ ++#ifndef MAP_SHARED_VALIDATE + #define MAP_SHARED_VALIDATE 0x0 +-#endif /* CONFIG_LINUX */ ++#endif /* MAP_SHARED_VALIDATE */ + +-#include "qemu/osdep.h" + #include "qemu/mmap-alloc.h" + #include "qemu/host-utils.h" + #include "qemu/cutils.h" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0010-hw-pvrdma-Protect-against-buggy-or-malicious-guest-d.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0010-hw-pvrdma-Protect-against-buggy-or-malicious-guest-d.patch new file mode 100644 index 00000000..6caf35b6 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/0010-hw-pvrdma-Protect-against-buggy-or-malicious-guest-d.patch @@ -0,0 +1,40 @@ +CVE: CVE-2022-1050 +Upstream-Status: Submitted [https://lore.kernel.org/qemu-devel/20220403095234.2210-1-yuval.shaia.ml@gmail.com/] +Signed-off-by: Ross Burton + +From dbdef95c272e8f3ec037c3db4197c66002e30995 Mon Sep 17 00:00:00 2001 +From: Yuval Shaia +Date: Sun, 3 Apr 2022 12:52:34 +0300 +Subject: [PATCH] hw/pvrdma: Protect against buggy or malicious guest driver + +Guest driver might execute HW commands when shared buffers are not yet +allocated. +This could happen on purpose (malicious guest) or because of some other +guest/host address mapping error. +We need to protect againts such case. + +Fixes: CVE-2022-1050 + +Reported-by: Raven +Signed-off-by: Yuval Shaia +--- + hw/rdma/vmw/pvrdma_cmd.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +Index: qemu-8.0.0/hw/rdma/vmw/pvrdma_cmd.c +=================================================================== +--- qemu-8.0.0.orig/hw/rdma/vmw/pvrdma_cmd.c ++++ qemu-8.0.0/hw/rdma/vmw/pvrdma_cmd.c +@@ -782,6 +782,12 @@ int pvrdma_exec_cmd(PVRDMADev *dev) + goto out; + } + ++ if (!dsr_info->dsr) { ++ /* Buggy or malicious guest driver */ ++ rdma_error_report("Exec command without dsr, req or rsp buffers"); ++ goto out; ++ } ++ + if (dsr_info->req->hdr.cmd >= sizeof(cmd_handlers) / + sizeof(struct cmd_handler)) { + rdma_error_report("Unsupported command"); diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/cross.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/cross.patch new file mode 100644 index 00000000..112eb925 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/cross.patch @@ -0,0 +1,38 @@ +From 76c3fc4c87231bed32974ebbbdb5079cff45a6b7 Mon Sep 17 00:00:00 2001 +From: Richard Purdie +Date: Tue, 5 Jan 2021 23:00:14 +0000 +Subject: [PATCH 12/12] qemu: Upgrade 5.1.0->5.2.0 + +We need to be able to trigger configure's cross code but we don't want +to set cross_prefix as it does other things we don't want. Patch things +so we can do what we need in the target config case. + +Upstream-Status: Inappropriate [may be rewritten in a way upstream may accept?] +Signed-off-by: Richard Purdie + +--- + configure | 4 ---- + 1 file changed, 4 deletions(-) + +Index: qemu-8.0.0/configure +=================================================================== +--- qemu-8.0.0.orig/configure ++++ qemu-8.0.0/configure +@@ -2590,7 +2590,6 @@ if test "$skip_meson" = no; then + echo "widl = [$(meson_quote $widl)]" >> $cross + echo "windres = [$(meson_quote $windres)]" >> $cross + echo "windmc = [$(meson_quote $windmc)]" >> $cross +- if test "$cross_compile" = "yes"; then + cross_arg="--cross-file config-meson.cross" + echo "[host_machine]" >> $cross + echo "system = '$targetos'" >> $cross +@@ -2608,9 +2607,6 @@ if test "$skip_meson" = no; then + else + echo "endian = 'little'" >> $cross + fi +- else +- cross_arg="--native-file config-meson.cross" +- fi + mv $cross config-meson.cross + + rm -rf meson-private meson-info meson-logs diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/fixedmeson.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/fixedmeson.patch new file mode 100644 index 00000000..0cbaea07 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/fixedmeson.patch @@ -0,0 +1,20 @@ +Upstream-Status: Inappropriate [workaround, would need a real fix for upstream] + +Index: qemu-8.1.0/configure +=================================================================== +--- qemu-8.1.0.orig/configure ++++ qemu-8.1.0/configure +@@ -1032,12 +1032,7 @@ then + exit 1 + fi + +-# At this point, we expect Meson to be installed and available. +-# We expect mkvenv or pip to have created pyvenv/bin/meson for us. +-# We ignore PATH completely here: we want to use the venv's Meson +-# *exclusively*. +- +-meson="$(cd pyvenv/bin; pwd)/meson" ++meson=`which meson` + + # Conditionally ensure Sphinx is installed. + diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/fixmips.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/fixmips.patch new file mode 100644 index 00000000..01546d10 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/fixmips.patch @@ -0,0 +1,18 @@ +Patch to fix mips boot hangs where virtio appears broken. Patch under discussion upstream. +Regression is introduced by other fixes to 8.1.0 to get x86 boots working. + +Upstream-Status: Pending [https://lore.kernel.org/qemu-devel/6c956b90-5a13-db96-9c02-9834a512fe6f@linaro.org/] + +Index: qemu-8.1.0/softmmu/physmem.c +=================================================================== +--- qemu-8.1.0.orig/softmmu/physmem.c ++++ qemu-8.1.0/softmmu/physmem.c +@@ -2517,7 +2517,7 @@ static void tcg_commit(MemoryListener *l + * That said, the listener is also called during realize, before + * all of the tcg machinery for run-on is initialized: thus halt_cond. + */ +- if (cpu->halt_cond) { ++ if (cpu->halt_cond && !qemu_cpu_is_self(cpu)) { + async_run_on_cpu(cpu, tcg_commit_cpu, RUN_ON_CPU_HOST_PTR(cpuas)); + } else { + tcg_commit_cpu(cpu, RUN_ON_CPU_HOST_PTR(cpuas)); diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/powerpc_rom.bin b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/powerpc_rom.bin new file mode 100644 index 00000000..c4044296 Binary files /dev/null and b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/powerpc_rom.bin differ diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/qemu-guest-agent.init b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/qemu-guest-agent.init new file mode 100644 index 00000000..5ebaadde --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/qemu-guest-agent.init @@ -0,0 +1,75 @@ +# SPDX-License-Identifier: GPL-2.0-only +# Initially written by: Michael Tokarev +# For QEMU Debian downstream package + +set -e + +. /etc/init.d/functions + +PATH=/sbin:/usr/sbin:/bin:/usr/bin +DESC="QEMU Guest Agent" +NAME=qemu-ga +DAEMON=@bindir@/$NAME +PIDFILE=/var/run/$NAME.pid + +# config +DAEMON_ARGS="" +# default transport +TRANSPORT=virtio-serial:/dev/virtio-ports/org.qemu.guest_agent.0 +NO_START=0 + +test ! -r /etc/default/qemu-guest-agent || . /etc/default/qemu-guest-agent +test "$NO_START" = "0" || exit 0 +test -x "$DAEMON" || exit 0 + +# +# Function that checks whenever system has necessary environment +# It also splits $TRANSPORT into $method and $path +# +do_check_transport() { + method=${TRANSPORT%%:*}; + path=${TRANSPORT#*:} + case "$method" in + virtio-serial | isa-serial) + if [ ! -e "$path" ]; then + echo "$NAME: transport endpoint not found, not starting" + return 1 + fi + ;; + esac +} + +case "$1" in + start) + do_check_transport || exit 0 + echo -n "Starting $DESC: " + start-stop-daemon -S -p $PIDFILE -x "$DAEMON" -- \ + $DAEMON_ARGS -d -m "$method" -p "$path" + echo "$NAME." + ;; + stop) + echo -n "Stopping $DESC: " + start-stop-daemon -K -x "$DAEMON" -p $PIDFILE + echo "$NAME." + ;; + status) + status "$DAEMON" + exit $? + ;; + restart|force-reload) + do_check_transport || exit 0 + echo -n "Restarting $DESC: " + start-stop-daemon -K -x "$DAEMON" -p $PIDFILE + sleep 1 + start-stop-daemon -S -p $PIDFILE -x "$DAEMON" -- \ + $DAEMON_ARGS -d -m "$method" -p "$path" + echo "$NAME." + ;; + *) + N=/etc/init.d/$NAME + echo "Usage: $N {start|stop|status|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/qemu-guest-agent.udev b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/qemu-guest-agent.udev new file mode 100644 index 00000000..47097057 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/qemu-guest-agent.udev @@ -0,0 +1,2 @@ +SUBSYSTEM=="virtio-ports", ATTR{name}=="org.qemu.guest_agent.0", \ + TAG+="systemd", ENV{SYSTEMD_WANTS}="qemu-guest-agent.service" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/run-ptest b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/run-ptest new file mode 100644 index 00000000..f9a4e8fb --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/run-ptest @@ -0,0 +1,13 @@ +#!/bin/sh +# +#This script is used to run qemu test suites +# + +ptestdir=$(dirname "$(readlink -f "$0")") +export SRC_PATH=$ptestdir + +cd $ptestdir/tests +tests=$(find . -name "test-*" ! -name "*.p") +for f in $tests; do + $f | sed '/^ok/ s/ok/PASS:/g' +done diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb index d837b9a5..2db8c778 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb @@ -2,5 +2,5 @@ require qemu-devicetrees.inc BRANCH ?= "master" -SRCREV ?= "a1810b130c115b003d80c825eebdf0cb9ea3a2a6" +SRCREV ?= "41ac2b04e8c52ed3935b0ba2f132ed49cf7c05fe" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-native-8.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-native-8.1.inc new file mode 100644 index 00000000..22fa9685 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-native-8.1.inc @@ -0,0 +1,7 @@ +require qemu-8.1.inc + +inherit native + +EXTRA_OEMAKE:append = " LD='${LD}' AR='${AR}' OBJCOPY='${OBJCOPY}' LDFLAGS='${LDFLAGS}'" + +LDFLAGS:append = " -fuse-ld=bfd" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-targets-8.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-targets-8.1.inc new file mode 100644 index 00000000..24f9a039 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-targets-8.1.inc @@ -0,0 +1,28 @@ +# possible arch values are: +# aarch64 arm armeb alpha cris i386 x86_64 m68k microblaze +# mips mipsel mips64 mips64el ppc ppc64 ppc64abi32 ppcemb +# riscv32 riscv64 sparc sparc32 sparc32plus + +def get_qemu_target_list(d): + import bb + archs = d.getVar('QEMU_TARGETS').split() + tos = d.getVar('HOST_OS') + softmmuonly = "" + for arch in ['ppcemb', 'lm32']: + if arch in archs: + softmmuonly += arch + "-softmmu," + archs.remove(arch) + linuxuseronly = "" + for arch in ['armeb', 'alpha', 'ppc64abi32', 'ppc64le', 'sparc32plus', 'aarch64_be']: + if arch in archs: + linuxuseronly += arch + "-linux-user," + archs.remove(arch) + if 'linux' not in tos: + return softmmuonly + ''.join([arch + "-softmmu" + "," for arch in archs]).rstrip(',') + return softmmuonly + linuxuseronly + ''.join([arch + "-linux-user" + "," + arch + "-softmmu" + "," for arch in archs]).rstrip(',') + +def get_qemu_usermode_target_list(d): + return ",".join(filter(lambda i: "-linux-user" in i, get_qemu_target_list(d).split(','))) + +def get_qemu_system_target_list(d): + return ",".join(filter(lambda i: "-linux-user" not in i, get_qemu_target_list(d).split(','))) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc index 009450fd..45a61dbd 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc @@ -1,3 +1,3 @@ -XILINX_QEMU_VERSION = "v7.1.0" +XILINX_QEMU_VERSION = "v8.1.0" BRANCH = "master" -SRCREV = "928f27d17acdc23c158ba223ba85b9df9eea7dc5" +SRCREV = "df72119ac8c34a8a0a72d0ca68d987613e2b8fcd" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-8.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-8.1.inc new file mode 100644 index 00000000..8a94a350 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-8.1.inc @@ -0,0 +1,78 @@ +SUMMARY = "Xilinx's fork of a fast open source processor emulator" +HOMEPAGE = "https://github.com/xilinx/qemu/" + +# This qemu fork is NOT compatible with running on a 32-bit system +# See: https://github.com/Xilinx/qemu/issues/35 +COMPATIBLE_HOST:arm = "null" + +# x86_64 is needed to build nativesdks +QEMU_TARGETS = "aarch64 arm microblaze microblazeel x86_64" + +LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \ + file://COPYING.LIB;endline=24;md5=8c5efda6cf1e1b03dcfd0e6c0d271c7f" + +FILESEXTRAPATHS:prepend := "${THISDIR}/qemu-xilinx-8.1.0:" + +PV = "${XILINX_QEMU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" +REPO ?= "gitsm://github.com/Xilinx/qemu.git;protocol=https" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = "${REPO};${BRANCHARG};name=qemu" +SRCREV_qemu = "${SRCREV}" +SRCREV_FORMAT = "qemu" + +FILESEXTRAPATHS:append := ":${THISDIR}/qemu-8.1" + +# Deal with the broken --disable-download +SRCREV_berkeley-softfloat-3 = "b64af41c3276f97f0e181920400ee056b9c88037" +SRCREV_berkeley-testfloat-3 = "40619cbb3bf32872df8c53cc457039229428a263" +SRCREV_dtc = "b6910bec11614980a21e46fbccc35934b671bd81" +SRCREV_keycodemapdb = "f5772a62ec52591ff6870b7e8ef32482371f22c6" +SRCREV_libvfio-user = "0b28d205572c80b568a1003db2c8f37ca333e4d7" +SRCREV_slirp = "26be815b86e8d49add8c9a8b320239b9594ff03d" +SRC_URI += "\ + git://gitlab.com/qemu-project/berkeley-softfloat-3;protocol=https;nobranch=1;destsuffix=git/subprojects/berkeley-softfloat-3;name=berkeley-softfloat-3 \ + git://gitlab.com/qemu-project/berkeley-testfloat-3;protocol=https;nobranch=1;destsuffix=git/subprojects/berkeley-testfloat-3;name=berkeley-testfloat-3 \ + git://gitlab.com/qemu-project/dtc.git;protocol=https;nobranch=1;destsuffix=git/subprojects/dtc;name=dtc \ + git://gitlab.com/qemu-project/keycodemapdb.git;protocol=https;nobranch=1;destsuffix=git/subprojects/keycodemapdb;name=keycodemapdb \ + git://gitlab.com/qemu-project/libvfio-user.git;protocol=https;nobranch=1;destsuffix=git/subprojects/libvfio-user;name=libvfio-user \ + git://gitlab.freedesktop.org/slirp/libslirp;protocol=https;nobranch=1;destsuffix=git/subprojects/slirp;name=slirp \ +" + +# Configure meson for disable-download +do_configure:prepend() { + cp ${S}/subprojects/packagefiles/berkeley-softfloat-3/* ${S}/subprojects/berkeley-softfloat-3/. + cp ${S}/subprojects/packagefiles/berkeley-testfloat-3/* ${S}/subprojects/berkeley-testfloat-3/. +} + + +# Keep this in sync with the main YP QEMU integration +SRC_URI += "\ + file://powerpc_rom.bin \ + file://run-ptest \ + file://0001-qemu-Add-addition-environment-space-to-boot-loader-q.patch \ + file://0003-apic-fixup-fallthrough-to-PIC.patch \ + file://0004-configure-Add-pkg-config-handling-for-libgcrypt.patch \ + file://0005-qemu-Do-not-include-file-if-not-exists.patch \ + file://0006-qemu-Add-some-user-space-mmap-tweaks-to-address-musl.patch \ + file://0007-qemu-Determinism-fixes.patch \ + file://0008-tests-meson.build-use-relative-path-to-refer-to-file.patch \ + file://0009-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch \ + file://0010-hw-pvrdma-Protect-against-buggy-or-malicious-guest-d.patch \ + file://0002-linux-user-Replace-use-of-lfs64-related-functions-an.patch \ + file://fixedmeson.patch \ + file://qemu-guest-agent.init \ + file://qemu-guest-agent.udev \ + " + +# Patch doesn't apply to 8.1.0 +# file://fixmips.patch + +S = "${WORKDIR}/git" + +# Based on qemu settings in poky/meta/conf/distro/include/no-static-libs.inc +DISABLE_STATIC:pn-qemu-xilinx = "" +DISABLE_STATIC:pn-qemu-xilinx-native = "" +DISABLE_STATIC:pn-nativesdk-qemu-xilinx = "" +DISABLE_STATIC:pn-qemu-xilinx-system-native = "" + diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native-8.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native-8.1.inc new file mode 100644 index 00000000..ad00453f --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native-8.1.inc @@ -0,0 +1,2 @@ +require qemu-native-8.1.inc +require qemu-xilinx-8.1.inc diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native.inc deleted file mode 100644 index b22ab432..00000000 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native.inc +++ /dev/null @@ -1,11 +0,0 @@ -require recipes-devtools/qemu/qemu-native.inc -require qemu-xilinx.inc - -DEPENDS = "glib-2.0-native zlib-native ninja-native meson-native" - -SRC_URI:remove = "file://0012-fix-libcap-header-issue-on-some-distro.patch" -SRC_URI:remove = "file://0013-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch" - -do_install:append(){ - rm -rf ${D}${datadir}/icons -} diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2024.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2024.1.bb index 77a32ff6..ffcf064b 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2024.1.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2024.1.bb @@ -1,9 +1,11 @@ +BPN = "qemu-xilinx" + +DEPENDS = "glib-2.0-native zlib-native ninja-native meson-native" + require qemu-xilinx-2024.1.inc -require qemu-xilinx-native-7.1.inc +require qemu-xilinx-native-8.1.inc require qemu-native-alt.inc -BPN = "qemu-xilinx" - -EXTRA_OECONF:append = " --target-list=${@get_qemu_usermode_target_list(d)} --disable-tools --disable-blobs --disable-guest-agent" +EXTRA_OECONF:append = " --target-list=${@get_qemu_usermode_target_list(d)} --disable-tools --disable-install-blobs --disable-guest-agent" PACKAGECONFIG ??= "pie" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2024.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2024.1.bb index 354c8dc3..eafa2c36 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2024.1.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2024.1.bb @@ -1,23 +1,34 @@ +BPN = "qemu-xilinx" + +inherit python3-dir + require qemu-system-native-alt.inc require qemu-xilinx-2024.1.inc -require qemu-xilinx-native-7.1.inc +require qemu-xilinx-native-8.1.inc -PROVIDES = "qemu-system-native" +# As some of the files installed by qemu-native and qemu-system-native +# are the same, we depend on qemu-native to get the full installation set +# and avoid file clashes +DEPENDS = "glib-2.0-native zlib-native pixman-native qemu-native bison-native meson-native ninja-native" + +DEPENDS += "qemu-xilinx-multiarch-helper-native" EXTRA_OECONF:append = " --target-list=${@get_qemu_system_target_list(d)}" -PACKAGECONFIG ??= "fdt alsa kvm gcrypt pie slirp" +PACKAGECONFIG ??= "fdt alsa kvm pie slirp png gcrypt \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virglrenderer epoxy', '', d)} \ +" +# Handle distros such as CentOS 5 32-bit that do not have kvm support PACKAGECONFIG:remove = "${@'kvm' if not os.path.exists('/usr/include/linux/kvm.h') else ''}" -DEPENDS += "pixman-native qemu-xilinx-native bison-native ninja-native meson-native" -DEPENDS += "qemu-xilinx-multiarch-helper-native" - do_install:append() { + install -Dm 0755 ${WORKDIR}/powerpc_rom.bin ${D}${datadir}/qemu-xilinx + # The following is also installed by qemu-native - rm -f ${D}${datadir}/qemu/trace-events-all - rm -rf ${D}${datadir}/qemu/keymaps - rm -rf ${D}${datadir}/icons + rm -f ${D}${datadir}/qemu-xilinx/trace-events-all + rm -rf ${D}${datadir}/qemu-xilinx/keymaps + rm -rf ${D}${datadir}/icons/ rm -rf ${D}${includedir}/qemu-plugin.h # Install qmp.py to be used with testimage diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2024.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2024.1.bb index 7d7bea80..cff60bd6 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2024.1.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2024.1.bb @@ -1,6 +1,8 @@ +BBCLASSEXTEND = "nativesdk" + require qemu-xilinx-2024.1.inc -require recipes-devtools/qemu/qemu.inc -require qemu-xilinx-7.1.inc +require qemu-8.1.inc +require qemu-xilinx-8.1.inc require qemu-alt.inc # Links to libmali-xlnx, so it becomes MACHINE_ARCH specific @@ -10,17 +12,27 @@ MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtua PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH" PACKAGE_ARCH:class-target = "${@bb.utils.contains_any('DEPENDS', 'libepoxy virglrenderer', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}" -BBCLASSEXTEND = "nativesdk" -RDEPENDS:${PN}:class-target += "bash" +DEPENDS = "glib-2.0 zlib pixman bison-native ninja-native meson-native" + +DEPENDS:append:libc-musl = " libucontext" -PROVIDES:class-nativesdk = "nativesdk-qemu" -RPROVIDES:${PN}:class-nativesdk = "nativesdk-qemu" +CFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DEGL_NO_X11=1', d)}" + +RDEPENDS:${PN}-common:class-target += "bash" EXTRA_OECONF:append:class-target = " --target-list=${@get_qemu_target_list(d)}" -EXTRA_OECONF:append:class-nativesdk = " --target-list=${@get_qemu_target_list(d)}" EXTRA_OECONF:append:class-target:mipsarcho32 = "${@bb.utils.contains('BBEXTENDCURR', 'multilib', ' --disable-capstone', '', d)}" +EXTRA_OECONF:append:class-nativesdk = " --target-list=${@get_qemu_target_list(d)}" -do_install:append:class-nativesdk() { - ${@bb.utils.contains('PACKAGECONFIG', 'gtk+', 'make_qemu_wrapper', '', d)} -} +PACKAGECONFIG ??= " \ + fdt sdl kvm pie slirp gcrypt \ + ${@bb.utils.filter('DISTRO_FEATURES', 'alsa pulseaudio xen', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virglrenderer epoxy', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)} \ +" +PACKAGECONFIG:class-nativesdk ??= "fdt sdl kvm pie slirp gcrypt \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virglrenderer epoxy', '', d)} \ +" +# ppc32 hosts are no longer supported in qemu +COMPATIBLE_HOST:powerpc = "null" -- cgit v1.2.3-54-g00ecf From de177f7353598fcf657aa46c2d300b73b9b2c49e Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Wed, 10 Jan 2024 15:04:46 -0700 Subject: qemu: Add riscv32 support Enable riscv32 as a standard qemu target. Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-8.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-8.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-8.1.inc index 8a94a350..e27409c5 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-8.1.inc +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-8.1.inc @@ -6,7 +6,7 @@ HOMEPAGE = "https://github.com/xilinx/qemu/" COMPATIBLE_HOST:arm = "null" # x86_64 is needed to build nativesdks -QEMU_TARGETS = "aarch64 arm microblaze microblazeel x86_64" +QEMU_TARGETS = "aarch64 arm microblaze microblazeel riscv32 x86_64" LIC_FILES_CHKSUM = "file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \ file://COPYING.LIB;endline=24;md5=8c5efda6cf1e1b03dcfd0e6c0d271c7f" -- cgit v1.2.3-54-g00ecf From 0f018ab269a65819155f66f55ff6fce348526b2a Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Thu, 18 Jan 2024 12:33:57 -0700 Subject: qemu: Remove qemu-6.1.0 remnants Some remnants of prior qemu 6.1.0 support were still present, remove them. Signed-off-by: Mark Hatle --- ...ure-Add-pkg-config-handling-for-libgcrypt.patch | 29 ------------- .../qemu/qemu-xilinx-6.1.0/cross.patch | 40 ------------------ .../recipes-devtools/qemu/qemu-xilinx.inc | 47 ---------------------- 3 files changed, 116 deletions(-) delete mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-6.1.0/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch delete mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-6.1.0/cross.patch delete mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx.inc diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-6.1.0/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-6.1.0/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch deleted file mode 100644 index 4298964d..00000000 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-6.1.0/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch +++ /dev/null @@ -1,29 +0,0 @@ -From b51e6dd833172954c718bd600d846540eeb07220 Mon Sep 17 00:00:00 2001 -From: He Zhe -Date: Wed, 28 Aug 2019 19:56:28 +0800 -Subject: [PATCH] configure: Add pkg-config handling for libgcrypt - -libgcrypt may also be controlled by pkg-config, this patch adds pkg-config -handling for libgcrypt. - -Upstream-Status: Denied [https://lists.nongnu.org/archive/html/qemu-devel/2019-08/msg06333.html] - -Signed-off-by: He Zhe - ---- - meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/meson.build b/meson.build -index b3e7ec0e9..4cbe715b7 100644 ---- a/meson.build -+++ b/meson.build -@@ -874,7 +874,7 @@ endif - if not gnutls_crypto.found() - if (not get_option('gcrypt').auto() or have_system) and not get_option('nettle').enabled() - gcrypt = dependency('libgcrypt', version: '>=1.8', -- method: 'config-tool', -+ method: 'pkg-config', - required: get_option('gcrypt'), - kwargs: static_kwargs) - # Debian has removed -lgpg-error from libgcrypt-config diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-6.1.0/cross.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-6.1.0/cross.patch deleted file mode 100644 index bdb77ec7..00000000 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-6.1.0/cross.patch +++ /dev/null @@ -1,40 +0,0 @@ -From f51ece86f84c877f255746cba22a6745f37d2b7f Mon Sep 17 00:00:00 2001 -From: Richard Purdie -Date: Tue, 5 Jan 2021 23:00:14 +0000 -Subject: [PATCH] qemu: Upgrade 5.1.0->5.2.0 - -We need to be able to trigger configure's cross code but we don't want -to set cross_prefix as it does other things we don't want. Patch things -so we can do what we need in the target config case. - -Upstream-Status: Inappropriate [may be rewritten in a way upstream may accept?] -Signed-off-by: Richard Purdie ---- - configure | 4 ---- - 1 file changed, 4 deletions(-) - -diff --git a/configure b/configure -index 9a79a004d..563b7827f 100755 ---- a/configure -+++ b/configure -@@ -5128,7 +5128,6 @@ if test "$skip_meson" = no; then - fi - echo "strip = [$(meson_quote $strip)]" >> $cross - echo "windres = [$(meson_quote $windres)]" >> $cross -- if test "$cross_compile" = "yes"; then - cross_arg="--cross-file config-meson.cross" - echo "[host_machine]" >> $cross - if test "$mingw32" = "yes" ; then -@@ -5160,9 +5159,6 @@ if test "$skip_meson" = no; then - else - echo "endian = 'little'" >> $cross - fi -- else -- cross_arg="--native-file config-meson.cross" -- fi - mv $cross config-meson.cross - - rm -rf meson-private meson-info meson-logs --- -2.17.1 - diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx.inc deleted file mode 100644 index 788a3fe0..00000000 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx.inc +++ /dev/null @@ -1,47 +0,0 @@ -SUMMARY = "Xilinx's fork of a fast open source processor emulator" -HOMEPAGE = "https://github.com/xilinx/qemu/" - -# x86_64 is needed to build nativesdks -QEMU_TARGETS = "aarch64 arm microblaze microblazeel x86_64" - -LIC_FILES_CHKSUM = " \ - file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \ - file://COPYING.LIB;endline=24;md5=8c5efda6cf1e1b03dcfd0e6c0d271c7f \ - " -DEPENDS = "glib-2.0 zlib pixman bison-native ninja-native meson-native" - -FILESEXTRAPATHS:prepend := "${THISDIR}/qemu-xilinx-6.1.0:" - -PV = "${XILINX_QEMU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" -REPO ?= "gitsm://github.com/Xilinx/qemu.git;protocol=https" - -BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" -SRC_URI = "${REPO};${BRANCHARG}" - -SRC_URI:append = " file://0010-configure-Add-pkg-config-handling-for-libgcrypt.patch" - -S = "${WORKDIR}/git" - -# Disable KVM completely -PACKAGECONFIG:remove = "kvm" -PACKAGECONFIG:append = " fdt sdl gcrypt pie slirp" - - -# Remove when version is in sync with core oe-core -PACKAGECONFIG:remove:class-nativesdk= "pulsedio" -PACKAGECONFIG:remove:class-native = "pulsedio" -PACKAGECONFIG[alsa] = "--audio-drv-list=alsa,,alsa-lib" -PACKAGECONFIG[pulsedio] = "--audio-drv-list=pa,,pulseaudio" -PACKAGECONFIG[selinux] = "" -PACKAGECONFIG[slirp] = "--enable-slirp=git,--disable-slirp,," -PACKAGECONFIG[jack] = "" - -DISABLE_STATIC:pn-${PN} = "" - -do_install:append() { - # Prevent QA warnings about installed ${localstatedir}/run - if [ -d ${D}${localstatedir}/run ]; then rmdir ${D}${localstatedir}/run; fi -} - -FILES:${PN} += "${datadir}/qemu/" -FILES:${PN}:append:class-nativesdk:mingw32 = " ${SDKPATHNATIVE}" -- cgit v1.2.3-54-g00ecf From 7c40a1fd85141558035126db01439a25884be021 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Thu, 18 Jan 2024 15:20:16 -0700 Subject: qemu-xilinx: Split 2023 and 2024 qemu-xilinx 2024 version does not yet support Xen patches. Disable these. Signed-off-by: Mark Hatle --- .../recipes-devtools/qemu/qemu-xilinx_%.bbappend | 5 ----- .../recipes-devtools/qemu/qemu-xilinx_2023%.bbappend | 5 +++++ .../recipes-devtools/qemu/qemu-xilinx_2024%.bbappend | 5 +++++ 3 files changed, 10 insertions(+), 5 deletions(-) delete mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx_%.bbappend create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx_2023%.bbappend create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx_2024%.bbappend diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx_%.bbappend b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx_%.bbappend deleted file mode 100644 index 3e93710c..00000000 --- a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx_%.bbappend +++ /dev/null @@ -1,5 +0,0 @@ -require qemu-tpm.inc -require qemu-xen.inc - -# We do not want QEMU, on the target to be configured with OpenGL -PACKAGECONFIG:remove:class-target:petalinux = "virglrenderer epoxy gtk+" diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx_2023%.bbappend b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx_2023%.bbappend new file mode 100644 index 00000000..3e93710c --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx_2023%.bbappend @@ -0,0 +1,5 @@ +require qemu-tpm.inc +require qemu-xen.inc + +# We do not want QEMU, on the target to be configured with OpenGL +PACKAGECONFIG:remove:class-target:petalinux = "virglrenderer epoxy gtk+" diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx_2024%.bbappend b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx_2024%.bbappend new file mode 100644 index 00000000..b1e94b5a --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx_2024%.bbappend @@ -0,0 +1,5 @@ +require qemu-tpm.inc +#require qemu-xen.inc + +# We do not want QEMU, on the target to be configured with OpenGL +PACKAGECONFIG:remove:class-target:petalinux = "virglrenderer epoxy gtk+" -- cgit v1.2.3-54-g00ecf From 3d6752472f5abf6060b5c9db37559b2c5be8977d Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Thu, 18 Jan 2024 12:36:25 -0700 Subject: qemu: Add target qemu 8.1.2 Backport the QEMU 8.1.x integration from current poky (commit 4bb222e0d71a4cb159b8a4f1a90b65b1af32ac10). Split the additional xen/tpm patches by version, disable Xen patches on the 8.1.2 version, not yet supported. Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/layer.conf | 1 + .../recipes-devtools/qemu/qemu_8.1.2.bb | 29 ++++++++++++++++++++++ .../recipes-devtools/qemu/qemu_%.bbappend | 5 ---- .../recipes-devtools/qemu/qemu_7.1%.bbappend | 5 ++++ .../recipes-devtools/qemu/qemu_8.1%.bbappend | 5 ++++ 5 files changed, 40 insertions(+), 5 deletions(-) create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu_8.1.2.bb delete mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu_%.bbappend create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu_7.1%.bbappend create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu_8.1%.bbappend diff --git a/meta-xilinx-core/conf/layer.conf b/meta-xilinx-core/conf/layer.conf index 752eeb37..5f2693cb 100644 --- a/meta-xilinx-core/conf/layer.conf +++ b/meta-xilinx-core/conf/layer.conf @@ -49,6 +49,7 @@ BUILDCFG_VARS:append = " SOC_VARIANT XILINX_RELEASE_VERSION" XILINX_QEMU_VERSION[v2023.1] = "v7.1.0-xilinx-v2023.1%" XILINX_QEMU_VERSION[v2023.2] = "v7.1.0-xilinx-v2023.2%" XILINX_QEMU_VERSION[v2024.1] = "v8.1.0-xilinx-v2024.1%" +PREFERRED_VERSION_qemu ?= "${@ '7.1%' if not (d.getVar('XILINX_RELEASE_VERSION') or 'undefined').startswith('v2024') else '8.1%'}" PREFERRED_VERSION_qemu-xilinx ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" PREFERRED_VERSION_qemu-xilinx-native ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" PREFERRED_VERSION_qemu-xilinx-system-native ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu_8.1.2.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu_8.1.2.bb new file mode 100644 index 00000000..2f9305e1 --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu_8.1.2.bb @@ -0,0 +1,29 @@ +BBCLASSEXTEND = "nativesdk" + +FILESEXTRAPATHS:append := ":${THISDIR}/qemu-8.1" + +require qemu-8.1.inc + +DEPENDS = "glib-2.0 zlib pixman bison-native ninja-native meson-native" + +DEPENDS:append:libc-musl = " libucontext" + +CFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11', '', '-DEGL_NO_X11=1', d)}" + +RDEPENDS:${PN}-common:class-target += "bash" + +EXTRA_OECONF:append:class-target = " --target-list=${@get_qemu_target_list(d)}" +EXTRA_OECONF:append:class-target:mipsarcho32 = "${@bb.utils.contains('BBEXTENDCURR', 'multilib', ' --disable-capstone', '', d)}" +EXTRA_OECONF:append:class-nativesdk = " --target-list=${@get_qemu_target_list(d)}" + +PACKAGECONFIG ??= " \ + fdt sdl kvm pie slirp \ + ${@bb.utils.filter('DISTRO_FEATURES', 'alsa pulseaudio xen', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virglrenderer epoxy', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)} \ +" +PACKAGECONFIG:class-nativesdk ??= "fdt sdl kvm pie slirp \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'virglrenderer epoxy', '', d)} \ +" +# ppc32 hosts are no longer supported in qemu +COMPATIBLE_HOST:powerpc = "null" diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu_%.bbappend b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu_%.bbappend deleted file mode 100644 index 3e93710c..00000000 --- a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu_%.bbappend +++ /dev/null @@ -1,5 +0,0 @@ -require qemu-tpm.inc -require qemu-xen.inc - -# We do not want QEMU, on the target to be configured with OpenGL -PACKAGECONFIG:remove:class-target:petalinux = "virglrenderer epoxy gtk+" diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu_7.1%.bbappend b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu_7.1%.bbappend new file mode 100644 index 00000000..3e93710c --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu_7.1%.bbappend @@ -0,0 +1,5 @@ +require qemu-tpm.inc +require qemu-xen.inc + +# We do not want QEMU, on the target to be configured with OpenGL +PACKAGECONFIG:remove:class-target:petalinux = "virglrenderer epoxy gtk+" diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu_8.1%.bbappend b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu_8.1%.bbappend new file mode 100644 index 00000000..b1e94b5a --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu_8.1%.bbappend @@ -0,0 +1,5 @@ +require qemu-tpm.inc +#require qemu-xen.inc + +# We do not want QEMU, on the target to be configured with OpenGL +PACKAGECONFIG:remove:class-target:petalinux = "virglrenderer epoxy gtk+" -- cgit v1.2.3-54-g00ecf From d925a82f3631bd20648a91bc23d5746e457c9b8b Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Mon, 22 Jan 2024 16:16:51 -0700 Subject: meta-xilinx-core: virtualization_layer: qemu Rework the meta-virtualization qemu extensions implemented in the meta-xilinx-core layer. It was found that is a bug in the langdale meta-virtualization. Due to this, we need to use BBMASK to exclude the changes from that layer, and then repeat them, but only for qemu 7.1. qemu 8.1 work is taken from the current master version of meta-virtualization. Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/layer.conf | 3 + .../qemu/qemu-xilinx-package-split-7.1.inc | 46 ++++++++++++++ .../qemu/qemu-xilinx-package-split-8.1.inc | 71 ++++++++++++++++++++++ .../qemu/qemu-xilinx-package-split.inc | 46 -------------- .../recipes-devtools/qemu/qemu-xilinx_%.bbappend | 1 - .../qemu/qemu-xilinx_2023%.bbappend | 1 + .../qemu/qemu-xilinx_2024%.bbappend | 1 + .../recipes-devtools/qemu/qemu_7.1%.bbappend | 1 + .../recipes-devtools/qemu/qemu_8.1%.bbappend | 1 + 9 files changed, 124 insertions(+), 47 deletions(-) create mode 100644 meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx-package-split-7.1.inc create mode 100644 meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx-package-split-8.1.inc delete mode 100644 meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx-package-split.inc delete mode 100644 meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx_%.bbappend create mode 100644 meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx_2023%.bbappend create mode 100644 meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx_2024%.bbappend create mode 100644 meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu_7.1%.bbappend create mode 100644 meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu_8.1%.bbappend diff --git a/meta-xilinx-core/conf/layer.conf b/meta-xilinx-core/conf/layer.conf index 5f2693cb..bbad1f76 100644 --- a/meta-xilinx-core/conf/layer.conf +++ b/meta-xilinx-core/conf/layer.conf @@ -46,6 +46,9 @@ XILINX_RELEASE_VERSION ??= "v2024.1" BUILDCFG_VARS:append = " SOC_VARIANT XILINX_RELEASE_VERSION" +# Workaround for a bbappend bug in meta-virtualization (fixed in scarthgap) +BBMASK += "/meta-virtualization/recipes-devtools/qemu/" + XILINX_QEMU_VERSION[v2023.1] = "v7.1.0-xilinx-v2023.1%" XILINX_QEMU_VERSION[v2023.2] = "v7.1.0-xilinx-v2023.2%" XILINX_QEMU_VERSION[v2024.1] = "v8.1.0-xilinx-v2024.1%" diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx-package-split-7.1.inc b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx-package-split-7.1.inc new file mode 100644 index 00000000..d07090bd --- /dev/null +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx-package-split-7.1.inc @@ -0,0 +1,46 @@ +PACKAGES:prepend:class-target = "${PN}-x86_64 \ + ${PN}-aarch64 \ + ${PN}-arm \ + ${PN}-i386 \ + ${PN}-system-i386 \ + ${PN}-microblaze \ + ${PN}-support \ + ${PN}-keymaps \ + ${PN}-firmware \ + " + +FILES:${PN}-x86_64:class-target = "${bindir}/qemu-system-x86_64 ${bindir}/qemu-x86_64" +RDEPENDS:${PN}-x86_64:append:class-target = " ${PN}" +INSANE_SKIP:${PN}-x86_64:class-target = "file-rdeps" + +FILES:${PN}-i386:class-target = "${bindir}/qemu-i386" +RDEPENDS:${PN}-i386:append:class-target = " ${PN}" +INSANE_SKIP:${PN}-i386:class-target = "file-rdeps" + +FILES:${PN}-system-i386:class-target = "${bindir}/qemu-system-i386" +RDEPENDS:${PN}-system-i386:append:class-target = " ${PN}" +INSANE_SKIP:${PN}-system-i386:class-target = "file-rdeps" + +FILES:${PN}-aarch64:class-target = "${bindir}/qemu-system-aarch64 ${bindir}/qemu-aarch64" +RDEPENDS:${PN}-aarch64:append:class-target = " ${PN}" +INSANE_SKIP:${PN}-aarch64:class-target = "file-rdeps" + +FILES:${PN}-arm:class-target = "${bindir}/qemu-system-arm ${bindir}/qemu-arm" +RDEPENDS:${PN}-arm:append:class-target = " ${PN}" +INSANE_SKIP:${PN}-arm:class-target = "file-rdeps" + +FILES:${PN}-microblaze:class-target = "${bindir}/qemu-system-microblaze* ${bindir}/qemu-microblaze*" +RDEPENDS:${PN}-microblaze:append:class-target = " ${PN}" +INSANE_SKIP:${PN}-arm:class-target = "file-rdeps" + +FILES:${PN}-support:class-target = "${bindir}/* ${libexecdir}/*" +RDEPENDS:${PN}-support:class-target = "${PN} bash" + +FILES:${PN}-firmware:class-target = "${datadir}/${PN}/*.bin ${datadir}/${PN}/*.rom ${datadir}/${PN}/*.img ${datadir}/${PN}/openbios* ${datadir}/${PN}/*.dtb ${datadir}/${PN}/u-boot*" +RDEPENDS:${PN}-firmware:class-target = "${PN}" +INSANE_SKIP:${PN}-firmware:class-target = "arch" + +FILES:${PN}-keymaps:class-target = "${datadir}/${PN}/keymaps/*" +RDEPENDS:${PN}-keymaps:class-target = "${PN}" + +PACKAGECONFIG:append:class-target = " virtfs" diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx-package-split-8.1.inc b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx-package-split-8.1.inc new file mode 100644 index 00000000..7671d84e --- /dev/null +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx-package-split-8.1.inc @@ -0,0 +1,71 @@ +# we have our own package splitting for qemu, inhbit the oe-core +# split by overriding the split function +python split_qemu_packages () { + print( "meta-virtualization: vmsplit: inhibiting core qemu package split" ) +} + +PACKAGES:prepend:class-target = "${PN}-x86_64 \ + ${PN}-aarch64 \ + ${PN}-arm \ + ${PN}-i386 \ + ${PN}-system-i386 \ + ${PN}-microblaze \ + ${PN}-support \ + ${PN}-keymaps \ + ${PN}-firmware \ + " + +FILES:${PN}-x86_64:class-target = "${bindir}/qemu-system-x86_64 ${bindir}/qemu-x86_64" +RDEPENDS:${PN}-x86_64:append:class-target = " ${PN}" +RPROVIDES:${PN}-x86_64:append:class-target = " ${PN}-system-x86_64" +RPROVIDES:${PN}-x86_64:append:class-target = " ${PN}-user-x86_64" +RDEPENDS:${PN}-system-all:append:class-target = " ${PN}-x86_64" +RDEPENDS:${PN}-user-all:append:class-target = " ${PN}-x86_64" +INSANE_SKIP:${PN}-x86_64:class-target = "file-rdeps" + +FILES:${PN}-i386:class-target = "${bindir}/qemu-i386" +RDEPENDS:${PN}-i386:append:class-target = " ${PN}" +RPROVIDES:${PN}-i386:append:class-target = " ${PN}-user-i386" +RDEPENDS:${PN}-user-all:append:class-target = " ${PN}-i386" +INSANE_SKIP:${PN}-i386:class-target = "file-rdeps" + +FILES:${PN}-system-i386:class-target = "${bindir}/qemu-system-i386" +RDEPENDS:${PN}-system-i386:append:class-target = " ${PN}" +RDEPENDS:${PN}-system-all:append:class-target = " ${PN}-system-i386" +INSANE_SKIP:${PN}-system-i386:class-target = "file-rdeps" + +FILES:${PN}-aarch64:class-target = "${bindir}/qemu-system-aarch64 ${bindir}/qemu-aarch64" +RDEPENDS:${PN}-aarch64:append:class-target = " ${PN}" +RPROVIDES:${PN}-aarch64:append:class-target = " ${PN}-system-aarch64" +RPROVIDES:${PN}-aarch64:append:class-target = " ${PN}-user-aarch64" +RDEPENDS:${PN}-system-all:append:class-target = " ${PN}-aarch64" +RDEPENDS:${PN}-user-all:append:class-target = " ${PN}-aarch64" +INSANE_SKIP:${PN}-aarch64:class-target = "file-rdeps" + +FILES:${PN}-arm:class-target = "${bindir}/qemu-system-arm ${bindir}/qemu-arm" +RDEPENDS:${PN}-arm:append:class-target = " ${PN}" +RPROVIDES:${PN}-arm:append:class-target = " ${PN}-system-arm" +RPROVIDES:${PN}-arm:append:class-target = " ${PN}-user-arm" +RDEPENDS:${PN}-system-all:append:class-target = " ${PN}-arm" +RDEPENDS:${PN}-user-all:append:class-target = " ${PN}-arm" +INSANE_SKIP:${PN}-arm:class-target = "file-rdeps" + +FILES:${PN}-microblaze:class-target = "${bindir}/qemu-system-microblaze* ${bindir}/qemu-microblaze*" +RDEPENDS:${PN}-microblaze:append:class-target = " ${PN}" +RPROVIDES:${PN}-microblaze:append:class-target = " ${PN}-system-microblaze" +RPROVIDES:${PN}-microblaze:append:class-target = " ${PN}-user-microblaze" +RDEPENDS:${PN}-system-all:append:class-target = " ${PN}-microblaze" +RDEPENDS:${PN}-user-all:append:class-target = " ${PN}-microblaze" +INSANE_SKIP:${PN}-arm:class-target = "file-rdeps" + +FILES:${PN}-support:class-target = "${bindir}/* ${libexecdir}/*" +RDEPENDS:${PN}-support:class-target = "${PN} bash" + +FILES:${PN}-firmware:class-target = "${datadir}/${PN}/*.bin ${datadir}/${PN}/*.rom ${datadir}/${PN}/*.img ${datadir}/${PN}/openbios* ${datadir}/${PN}/*.dtb ${datadir}/${PN}/u-boot*" +RDEPENDS:${PN}-firmware:class-target = "${PN}" +INSANE_SKIP:${PN}-firmware:class-target = "arch" + +FILES:${PN}-keymaps:class-target = "${datadir}/${PN}/keymaps/*" +RDEPENDS:${PN}-keymaps:class-target = "${PN}" + +PACKAGECONFIG:append = " virtfs" diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx-package-split.inc b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx-package-split.inc deleted file mode 100644 index 2c73d931..00000000 --- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx-package-split.inc +++ /dev/null @@ -1,46 +0,0 @@ -PACKAGES:prepend:class-target = "${PN}-x86_64 \ - ${PN}-aarch64 \ - ${PN}-arm \ - ${PN}-i386 \ - ${PN}-system-i386 \ - ${PN}-microblaze \ - ${PN}-support \ - ${PN}-keymaps \ - ${PN}-firmware \ - " - -FILES:${PN}-x86_64:class-target = "${bindir}/qemu-system-x86_64 ${bindir}/qemu-x86_64" -RDEPENDS:${PN}-x86_64:append:class-target = "${PN}" -INSANE_SKIP:${PN}-x86_64:class-target = "file-rdeps" - -FILES:${PN}-i386:class-target = "${bindir}/qemu-i386" -RDEPENDS:${PN}-i386:append:class-target = "${PN}" -INSANE_SKIP:${PN}-i386:class-target = "file-rdeps" - -FILES:${PN}-system-i386:class-target = "${bindir}/qemu-system-i386" -RDEPENDS:${PN}-system-i386:append:class-target = "${PN}" -INSANE_SKIP:${PN}-system-i386:class-target = "file-rdeps" - -FILES:${PN}-aarch64:class-target = "${bindir}/qemu-system-aarch64 ${bindir}/qemu-aarch64" -RDEPENDS:${PN}-aarch64:append:class-target = "${PN}" -INSANE_SKIP:${PN}-aarch64:class-target = "file-rdeps" - -FILES:${PN}-arm:class-target = "${bindir}/qemu-system-arm ${bindir}/qemu-arm" -RDEPENDS:${PN}-arm:append:class-target = "${PN}" -INSANE_SKIP:${PN}-arm:class-target = "file-rdeps" - -FILES:${PN}-microblaze:class-target = "${bindir}/qemu-system-microblaze* ${bindir}/qemu-microblaze*" -RDEPENDS:${PN}-microblaze:append:class-target = "${PN}" -INSANE_SKIP:${PN}-arm:class-target = "file-rdeps" - -FILES:${PN}-support:class-target = "${bindir}/* ${libexecdir}/*" -RDEPENDS:${PN}-support:class-target = "${PN} bash" - -FILES:${PN}-firmware:class-target = "${datadir}/${PN}/*.bin ${datadir}/${PN}/*.rom ${datadir}/${PN}/*.img ${datadir}/${PN}/openbios* ${datadir}/${PN}/*.dtb ${datadir}/${PN}/u-boot*" -RDEPENDS:${PN}-firmware:class-target = "${PN}" -INSANE_SKIP:${PN}-firmware:class-target = "arch" - -FILES:${PN}-keymaps:class-target = "${datadir}/${PN}/keymaps/*" -RDEPENDS:${PN}-keymaps:class-target = "${PN}" - -PACKAGECONFIG:append:class-target = " virtfs" diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx_%.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx_%.bbappend deleted file mode 100644 index 5cca9e1f..00000000 --- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx_%.bbappend +++ /dev/null @@ -1 +0,0 @@ -require ${@bb.utils.contains('DISTRO_FEATURES', 'vmsep', '${BPN}-package-split.inc', '', d)} diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx_2023%.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx_2023%.bbappend new file mode 100644 index 00000000..c9f04327 --- /dev/null +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx_2023%.bbappend @@ -0,0 +1 @@ +require ${@bb.utils.contains('DISTRO_FEATURES', 'vmsep', 'qemu-xilinx-package-split-7.1.inc', '', d)} diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx_2024%.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx_2024%.bbappend new file mode 100644 index 00000000..74aa15fb --- /dev/null +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx_2024%.bbappend @@ -0,0 +1 @@ +require ${@bb.utils.contains('DISTRO_FEATURES', 'vmsep', 'qemu-xilinx-package-split-8.1.inc', '', d)} diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu_7.1%.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu_7.1%.bbappend new file mode 100644 index 00000000..c9f04327 --- /dev/null +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu_7.1%.bbappend @@ -0,0 +1 @@ +require ${@bb.utils.contains('DISTRO_FEATURES', 'vmsep', 'qemu-xilinx-package-split-7.1.inc', '', d)} diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu_8.1%.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu_8.1%.bbappend new file mode 100644 index 00000000..74aa15fb --- /dev/null +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu_8.1%.bbappend @@ -0,0 +1 @@ +require ${@bb.utils.contains('DISTRO_FEATURES', 'vmsep', 'qemu-xilinx-package-split-8.1.inc', '', d)} -- cgit v1.2.3-54-g00ecf From 4eccda49693a2c75f906dffda47abbeb4197d12e Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Fri, 19 Jan 2024 13:41:55 -0700 Subject: qemu: Rename qemu-xen to qemu-xen_7.1 Rename qemu-xen to qemu-xen_7.1 inclusion file and update the same in qemu-xilinx_2023 qemu_7.1 recipes. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- .../recipes-devtools/qemu/qemu-xen.inc | 33 - .../recipes-devtools/qemu/qemu-xen_7.1.inc | 33 + ...syntax-error-that-causes-FTBFS-in-some-co.patch | 40 + ...plugging-emulated-devices-skip-virtio-dev.patch | 51 + ...return-error-from-xen_create_ioreq_server.patch | 55 + ...-add-pseudo-RAM-region-for-grant-mappings.patch | 252 +++ ...en-mapcache-move-xen-mapcache.c-to-hw-xen.patch | 88 + ...003-hw-i386-xen-rearrange-xen_hvm_init_pc.patch | 106 + ...-qemu_map_ram_ptr-use-qemu_ram_ptr_length.patch | 113 ++ ...ove-x86-specific-fields-out-of-XenIOState.patch | 180 ++ ..._ram_addr_from_mapcache-return-1-in-case-.patch | 49 + ...-add-MemoryRegion-map-and-unmap-callbacks.patch | 150 ++ ...ate-arch_handle_ioreq-and-arch_xen_set_me.patch | 192 ++ ...-map-and-unmap-callbacks-for-grant-region.patch | 255 +++ ...e-common-functions-to-hw-xen-xen-hvm-comm.patch | 2094 ++++++++++++++++++++ .../0007-xen-mapcache-Fix-build-on-Arm.patch | 37 + ...req-creation-on-ioreq-registration-failur.patch | 42 + ...n-xen-all-export-xenstore_record_dm_state.patch | 48 + .../0008-hw-arm-Add-grant-mapping.patch | 39 + ...n-hvm-enable-xen-hvm-common-build-for-ARM.patch | 43 + .../0010-hw-arm-introduce-xenpv-machine.patch | 230 +++ ...-do-not-set-have_xen_pci_passthrough-for-.patch | 33 + ...n-arm-call-qemu_find_tpm_be-if-CONFIG_TPM.patch | 72 + ...3-arm-xenpv-fix-TPM-address-print-warning.patch | 27 + ...ate-virtio-mmio-devices-during-initializa.patch | 83 + ...tialize-RAM-and-add-hi-low-memory-regions.patch | 105 + ...-accel-xen-and-drop-extra-interface-openi.patch | 79 + .../qemu/qemu-xilinx_2023%.bbappend | 4 +- ...syntax-error-that-causes-FTBFS-in-some-co.patch | 40 - ...plugging-emulated-devices-skip-virtio-dev.patch | 51 - ...return-error-from-xen_create_ioreq_server.patch | 55 - ...-add-pseudo-RAM-region-for-grant-mappings.patch | 252 --- ...en-mapcache-move-xen-mapcache.c-to-hw-xen.patch | 88 - ...003-hw-i386-xen-rearrange-xen_hvm_init_pc.patch | 106 - ...-qemu_map_ram_ptr-use-qemu_ram_ptr_length.patch | 113 -- ...ove-x86-specific-fields-out-of-XenIOState.patch | 180 -- ..._ram_addr_from_mapcache-return-1-in-case-.patch | 49 - ...-add-MemoryRegion-map-and-unmap-callbacks.patch | 150 -- ...ate-arch_handle_ioreq-and-arch_xen_set_me.patch | 192 -- ...-map-and-unmap-callbacks-for-grant-region.patch | 255 --- ...e-common-functions-to-hw-xen-xen-hvm-comm.patch | 2094 -------------------- .../qemu/0007-xen-mapcache-Fix-build-on-Arm.patch | 37 - ...req-creation-on-ioreq-registration-failur.patch | 42 - ...n-xen-all-export-xenstore_record_dm_state.patch | 48 - .../qemu/qemu/0008-hw-arm-Add-grant-mapping.patch | 39 - ...n-hvm-enable-xen-hvm-common-build-for-ARM.patch | 43 - .../qemu/0010-hw-arm-introduce-xenpv-machine.patch | 230 --- ...-do-not-set-have_xen_pci_passthrough-for-.patch | 33 - ...n-arm-call-qemu_find_tpm_be-if-CONFIG_TPM.patch | 72 - ...3-arm-xenpv-fix-TPM-address-print-warning.patch | 27 - ...ate-virtio-mmio-devices-during-initializa.patch | 83 - ...tialize-RAM-and-add-hi-low-memory-regions.patch | 105 - ...-accel-xen-and-drop-extra-interface-openi.patch | 79 - .../recipes-devtools/qemu/qemu_7.1%.bbappend | 4 +- 54 files changed, 4500 insertions(+), 4500 deletions(-) delete mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xen.inc create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xen_7.1.inc create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0001-xen-pt-fix-syntax-error-that-causes-FTBFS-in-some-co.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0001-xen-when-unplugging-emulated-devices-skip-virtio-dev.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0001-xen_common-return-error-from-xen_create_ioreq_server.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0002-xen-add-pseudo-RAM-region-for-grant-mappings.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0002-xen-mapcache-move-xen-mapcache.c-to-hw-xen.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0003-hw-i386-xen-rearrange-xen_hvm_init_pc.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0003-softmmu-let-qemu_map_ram_ptr-use-qemu_ram_ptr_length.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0004-xen-hvm-move-x86-specific-fields-out-of-XenIOState.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0004-xen-let-xen_ram_addr_from_mapcache-return-1-in-case-.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0005-memory-add-MemoryRegion-map-and-unmap-callbacks.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0005-xen-hvm-create-arch_handle_ioreq-and-arch_xen_set_me.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0006-xen-add-map-and-unmap-callbacks-for-grant-region.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0006-xen-hvm-move-common-functions-to-hw-xen-xen-hvm-comm.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0007-xen-mapcache-Fix-build-on-Arm.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0007-xen-skip-ioreq-creation-on-ioreq-registration-failur.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0008-accel-xen-xen-all-export-xenstore_record_dm_state.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0008-hw-arm-Add-grant-mapping.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0009-xen-hvm-enable-xen-hvm-common-build-for-ARM.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0010-hw-arm-introduce-xenpv-machine.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0011-meson.build-do-not-set-have_xen_pci_passthrough-for-.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0012-xen-arm-call-qemu_find_tpm_be-if-CONFIG_TPM.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0013-arm-xenpv-fix-TPM-address-print-warning.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0014-xen_arm-Create-virtio-mmio-devices-during-initializa.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0015-xen_arm-Initialize-RAM-and-add-hi-low-memory-regions.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0016-xen_arm-Add-accel-xen-and-drop-extra-interface-openi.patch delete mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0001-xen-pt-fix-syntax-error-that-causes-FTBFS-in-some-co.patch delete mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0001-xen-when-unplugging-emulated-devices-skip-virtio-dev.patch delete mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0001-xen_common-return-error-from-xen_create_ioreq_server.patch delete mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0002-xen-add-pseudo-RAM-region-for-grant-mappings.patch delete mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0002-xen-mapcache-move-xen-mapcache.c-to-hw-xen.patch delete mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0003-hw-i386-xen-rearrange-xen_hvm_init_pc.patch delete mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0003-softmmu-let-qemu_map_ram_ptr-use-qemu_ram_ptr_length.patch delete mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0004-xen-hvm-move-x86-specific-fields-out-of-XenIOState.patch delete mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0004-xen-let-xen_ram_addr_from_mapcache-return-1-in-case-.patch delete mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0005-memory-add-MemoryRegion-map-and-unmap-callbacks.patch delete mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0005-xen-hvm-create-arch_handle_ioreq-and-arch_xen_set_me.patch delete mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0006-xen-add-map-and-unmap-callbacks-for-grant-region.patch delete mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0006-xen-hvm-move-common-functions-to-hw-xen-xen-hvm-comm.patch delete mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0007-xen-mapcache-Fix-build-on-Arm.patch delete mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0007-xen-skip-ioreq-creation-on-ioreq-registration-failur.patch delete mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0008-accel-xen-xen-all-export-xenstore_record_dm_state.patch delete mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0008-hw-arm-Add-grant-mapping.patch delete mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0009-xen-hvm-enable-xen-hvm-common-build-for-ARM.patch delete mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0010-hw-arm-introduce-xenpv-machine.patch delete mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0011-meson.build-do-not-set-have_xen_pci_passthrough-for-.patch delete mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0012-xen-arm-call-qemu_find_tpm_be-if-CONFIG_TPM.patch delete mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0013-arm-xenpv-fix-TPM-address-print-warning.patch delete mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0014-xen_arm-Create-virtio-mmio-devices-during-initializa.patch delete mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0015-xen_arm-Initialize-RAM-and-add-hi-low-memory-regions.patch delete mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0016-xen_arm-Add-accel-xen-and-drop-extra-interface-openi.patch diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xen.inc b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xen.inc deleted file mode 100644 index 6d1cd1eb..00000000 --- a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xen.inc +++ /dev/null @@ -1,33 +0,0 @@ -# Xen specific changes are only applicable on the target -SRC_URI_XEN = "" -SRC_URI_XEN:class-target = " \ - file://0001-xen-pt-fix-syntax-error-that-causes-FTBFS-in-some-co.patch \ - file://0001-xen_common-return-error-from-xen_create_ioreq_server.patch \ - file://0002-xen-mapcache-move-xen-mapcache.c-to-hw-xen.patch \ - file://0003-hw-i386-xen-rearrange-xen_hvm_init_pc.patch \ - file://0004-xen-hvm-move-x86-specific-fields-out-of-XenIOState.patch \ - file://0005-xen-hvm-create-arch_handle_ioreq-and-arch_xen_set_me.patch \ - file://0006-xen-hvm-move-common-functions-to-hw-xen-xen-hvm-comm.patch \ - file://0007-xen-skip-ioreq-creation-on-ioreq-registration-failur.patch \ - file://0008-accel-xen-xen-all-export-xenstore_record_dm_state.patch \ - file://0009-xen-hvm-enable-xen-hvm-common-build-for-ARM.patch \ - file://0010-hw-arm-introduce-xenpv-machine.patch \ - file://0011-meson.build-do-not-set-have_xen_pci_passthrough-for-.patch \ - file://0012-xen-arm-call-qemu_find_tpm_be-if-CONFIG_TPM.patch \ - file://0013-arm-xenpv-fix-TPM-address-print-warning.patch \ - file://0014-xen_arm-Create-virtio-mmio-devices-during-initializa.patch \ - file://0015-xen_arm-Initialize-RAM-and-add-hi-low-memory-regions.patch \ - file://0016-xen_arm-Add-accel-xen-and-drop-extra-interface-openi.patch \ - file://0001-xen-when-unplugging-emulated-devices-skip-virtio-dev.patch \ - file://0002-xen-add-pseudo-RAM-region-for-grant-mappings.patch \ - file://0003-softmmu-let-qemu_map_ram_ptr-use-qemu_ram_ptr_length.patch \ - file://0004-xen-let-xen_ram_addr_from_mapcache-return-1-in-case-.patch \ - file://0005-memory-add-MemoryRegion-map-and-unmap-callbacks.patch \ - file://0006-xen-add-map-and-unmap-callbacks-for-grant-region.patch \ - file://0007-xen-mapcache-Fix-build-on-Arm.patch \ - file://0008-hw-arm-Add-grant-mapping.patch \ - " - -FILESEXTRAPATHS:prepend:class-target := "${THISDIR}/qemu:" - -SRC_URI .= "${@bb.utils.contains('DISTRO_FEATURES', 'xen', '${SRC_URI_XEN}', '', d)}" diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xen_7.1.inc b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xen_7.1.inc new file mode 100644 index 00000000..1210a3de --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xen_7.1.inc @@ -0,0 +1,33 @@ +# Xen-4.17 specific changes are only applicable on the target +SRC_URI_XEN = "" +SRC_URI_XEN:class-target = " \ + file://0001-xen-pt-fix-syntax-error-that-causes-FTBFS-in-some-co.patch \ + file://0001-xen_common-return-error-from-xen_create_ioreq_server.patch \ + file://0002-xen-mapcache-move-xen-mapcache.c-to-hw-xen.patch \ + file://0003-hw-i386-xen-rearrange-xen_hvm_init_pc.patch \ + file://0004-xen-hvm-move-x86-specific-fields-out-of-XenIOState.patch \ + file://0005-xen-hvm-create-arch_handle_ioreq-and-arch_xen_set_me.patch \ + file://0006-xen-hvm-move-common-functions-to-hw-xen-xen-hvm-comm.patch \ + file://0007-xen-skip-ioreq-creation-on-ioreq-registration-failur.patch \ + file://0008-accel-xen-xen-all-export-xenstore_record_dm_state.patch \ + file://0009-xen-hvm-enable-xen-hvm-common-build-for-ARM.patch \ + file://0010-hw-arm-introduce-xenpv-machine.patch \ + file://0011-meson.build-do-not-set-have_xen_pci_passthrough-for-.patch \ + file://0012-xen-arm-call-qemu_find_tpm_be-if-CONFIG_TPM.patch \ + file://0013-arm-xenpv-fix-TPM-address-print-warning.patch \ + file://0014-xen_arm-Create-virtio-mmio-devices-during-initializa.patch \ + file://0015-xen_arm-Initialize-RAM-and-add-hi-low-memory-regions.patch \ + file://0016-xen_arm-Add-accel-xen-and-drop-extra-interface-openi.patch \ + file://0001-xen-when-unplugging-emulated-devices-skip-virtio-dev.patch \ + file://0002-xen-add-pseudo-RAM-region-for-grant-mappings.patch \ + file://0003-softmmu-let-qemu_map_ram_ptr-use-qemu_ram_ptr_length.patch \ + file://0004-xen-let-xen_ram_addr_from_mapcache-return-1-in-case-.patch \ + file://0005-memory-add-MemoryRegion-map-and-unmap-callbacks.patch \ + file://0006-xen-add-map-and-unmap-callbacks-for-grant-region.patch \ + file://0007-xen-mapcache-Fix-build-on-Arm.patch \ + file://0008-hw-arm-Add-grant-mapping.patch \ + " + +FILESEXTRAPATHS:prepend:class-target := "${THISDIR}/qemu-xilinx-7.1:" + +SRC_URI .= "${@bb.utils.contains('DISTRO_FEATURES', 'xen', '${SRC_URI_XEN}', '', d)}" diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0001-xen-pt-fix-syntax-error-that-causes-FTBFS-in-some-co.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0001-xen-pt-fix-syntax-error-that-causes-FTBFS-in-some-co.patch new file mode 100644 index 00000000..99eaeeaf --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0001-xen-pt-fix-syntax-error-that-causes-FTBFS-in-some-co.patch @@ -0,0 +1,40 @@ +From ba24456b93a205b728475d5f0880f3ec495e383a Mon Sep 17 00:00:00 2001 +From: Chuck Zmudzinski +Date: Mon, 31 Oct 2022 17:35:52 -0400 +Subject: [PATCH] xen/pt: fix syntax error that causes FTBFS in some + configurations +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +When Qemu is built with --enable-xen and --disable-xen-pci-passthrough +and the target os is linux, the build fails with: + +meson.build:3477:2: ERROR: File xen_pt_stub.c does not exist. + +Fixes: 582ea95f5f93 ("meson: convert hw/xen") + +Signed-off-by: Chuck Zmudzinski +Reviewed-by: Philippe Mathieu-Daudé +Message-Id: <5f1342a13c09af77b1a7b0aeaba5955bcea89731.1667242033.git.brchuckz@aol.com> +Signed-off-by: Laurent Vivier +--- + hw/xen/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/hw/xen/meson.build b/hw/xen/meson.build +index 08dc1f6857..ae0ace3046 100644 +--- a/hw/xen/meson.build ++++ b/hw/xen/meson.build +@@ -18,7 +18,7 @@ if have_xen_pci_passthrough + 'xen_pt_msi.c', + )) + else +- xen_specific_ss.add('xen_pt_stub.c') ++ xen_specific_ss.add(files('xen_pt_stub.c')) + endif + + specific_ss.add_all(when: ['CONFIG_XEN', xen], if_true: xen_specific_ss) +-- +2.17.0 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0001-xen-when-unplugging-emulated-devices-skip-virtio-dev.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0001-xen-when-unplugging-emulated-devices-skip-virtio-dev.patch new file mode 100644 index 00000000..71dfb3be --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0001-xen-when-unplugging-emulated-devices-skip-virtio-dev.patch @@ -0,0 +1,51 @@ +From e2b85efc82bc26a838f666c8282528ee38cf6377 Mon Sep 17 00:00:00 2001 +From: Juergen Gross +Date: Tue, 16 Mar 2021 14:00:33 +0100 +Subject: [PATCH 1/8] xen: when unplugging emulated devices skip virtio devices + +Virtio devices should never be unplugged at boot time, as they are +similar to pci passthrough devices. + +Signed-off-by: Juergen Gross +Acked-by: Stefano Stabellini +--- + hw/i386/xen/xen_platform.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/hw/i386/xen/xen_platform.c b/hw/i386/xen/xen_platform.c +index a64265cca0..39bbb12675 100644 +--- a/hw/i386/xen/xen_platform.c ++++ b/hw/i386/xen/xen_platform.c +@@ -30,6 +30,7 @@ + #include "hw/pci/pci.h" + #include "hw/xen/xen_common.h" + #include "migration/vmstate.h" ++#include "hw/virtio/virtio-bus.h" + #include "hw/xen/xen-legacy-backend.h" + #include "trace.h" + #include "sysemu/xen.h" +@@ -114,7 +115,8 @@ static void unplug_nic(PCIBus *b, PCIDevice *d, void *o) + /* We have to ignore passthrough devices */ + if (pci_get_word(d->config + PCI_CLASS_DEVICE) == + PCI_CLASS_NETWORK_ETHERNET +- && strcmp(d->name, "xen-pci-passthrough") != 0) { ++ && strcmp(d->name, "xen-pci-passthrough") != 0 ++ && !qdev_get_child_bus(&d->qdev, TYPE_VIRTIO_BUS)) { + object_unparent(OBJECT(d)); + } + } +@@ -191,6 +193,11 @@ static void unplug_disks(PCIBus *b, PCIDevice *d, void *opaque) + return; + } + ++ /* Ignore virtio devices */ ++ if (qdev_get_child_bus(&d->qdev, TYPE_VIRTIO_BUS)) { ++ return; ++ } ++ + switch (pci_get_word(d->config + PCI_CLASS_DEVICE)) { + case PCI_CLASS_STORAGE_IDE: + pci_xen_ide_unplug(DEVICE(d), aux); +-- +2.25.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0001-xen_common-return-error-from-xen_create_ioreq_server.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0001-xen_common-return-error-from-xen_create_ioreq_server.patch new file mode 100644 index 00000000..d4349b1d --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0001-xen_common-return-error-from-xen_create_ioreq_server.patch @@ -0,0 +1,55 @@ +From ef4d512aff004c62d550cdd64329c6c1acd0f217 Mon Sep 17 00:00:00 2001 +From: Stefano Stabellini +Date: Fri, 1 Jul 2022 18:48:03 -0700 +Subject: [PATCH 01/16] xen_common: return error from xen_create_ioreq_server + +Signed-off-by: Stefano Stabellini +--- + include/hw/xen/xen_common.h | 12 +++++++----- + 1 file changed, 7 insertions(+), 5 deletions(-) + +diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h +index 77ce17d8a4..c2d2f36bde 100644 +--- a/include/hw/xen/xen_common.h ++++ b/include/hw/xen/xen_common.h +@@ -467,8 +467,8 @@ static inline void xen_unmap_pcidev(domid_t dom, + { + } + +-static inline void xen_create_ioreq_server(domid_t dom, +- ioservid_t *ioservid) ++static inline int xen_create_ioreq_server(domid_t dom, ++ ioservid_t *ioservid) + { + } + +@@ -600,8 +600,8 @@ static inline void xen_unmap_pcidev(domid_t dom, + PCI_FUNC(pci_dev->devfn)); + } + +-static inline void xen_create_ioreq_server(domid_t dom, +- ioservid_t *ioservid) ++static inline int xen_create_ioreq_server(domid_t dom, ++ ioservid_t *ioservid) + { + int rc = xendevicemodel_create_ioreq_server(xen_dmod, dom, + HVM_IOREQSRV_BUFIOREQ_ATOMIC, +@@ -609,12 +609,14 @@ static inline void xen_create_ioreq_server(domid_t dom, + + if (rc == 0) { + trace_xen_ioreq_server_create(*ioservid); +- return; ++ return rc; + } + + *ioservid = 0; + use_default_ioreq_server = true; + trace_xen_default_ioreq_server(); ++ ++ return rc; + } + + static inline void xen_destroy_ioreq_server(domid_t dom, +-- +2.17.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0002-xen-add-pseudo-RAM-region-for-grant-mappings.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0002-xen-add-pseudo-RAM-region-for-grant-mappings.patch new file mode 100644 index 00000000..8facb189 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0002-xen-add-pseudo-RAM-region-for-grant-mappings.patch @@ -0,0 +1,252 @@ +From e18daac2f6d3f60c8217f44189a91cf8240a591f Mon Sep 17 00:00:00 2001 +From: Juergen Gross +Date: Thu, 20 May 2021 11:19:58 +0200 +Subject: [PATCH 2/8] xen: add pseudo RAM region for grant mappings + +Add a memory region which can be used to automatically map granted +memory. It is starting at 0x8000000000000000ULL in order to be able to +distinguish it from normal RAM. + +For this reason the xen.ram memory region is expanded, which has no +further impact as it is used just as a container of the real RAM +regions and now the grant region. + +Signed-off-by: Juergen Gross +Signed-off-by: Vikram Garhwal +Acked-by: Stefano Stabellini +--- + hw/i386/xen/xen-hvm.c | 3 ++ + hw/xen/xen-hvm-common.c | 4 +-- + hw/xen/xen-mapcache.c | 28 +++++++++++++++ + include/exec/ram_addr.h | 1 + + include/hw/xen/xen-hvm-common.h | 2 ++ + include/hw/xen/xen_pvdev.h | 3 ++ + include/sysemu/xen-mapcache.h | 3 ++ + softmmu/physmem.c | 61 ++++++++++++++++++++------------- + 8 files changed, 80 insertions(+), 25 deletions(-) + +diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c +index 36d87555a9..2dcc2e1179 100644 +--- a/hw/i386/xen/xen-hvm.c ++++ b/hw/i386/xen/xen-hvm.c +@@ -171,6 +171,9 @@ static void xen_ram_init(PCMachineState *pcms, + x86ms->above_4g_mem_size); + memory_region_add_subregion(sysmem, 0x100000000ULL, &ram_hi); + } ++ ++ /* Add grant mappings as a pseudo RAM region. */ ++ ram_grants = *xen_init_grant_ram(); + } + + static XenPhysmap *get_physmapping(hwaddr start_addr, ram_addr_t size) +diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c +index 7e7d23397f..abd6e379d3 100644 +--- a/hw/xen/xen-hvm-common.c ++++ b/hw/xen/xen-hvm-common.c +@@ -10,7 +10,7 @@ + #include "hw/boards.h" + #include "hw/xen/arch_hvm.h" + +-MemoryRegion ram_memory; ++MemoryRegion ram_memory, ram_grants; + + MemoryListener xen_io_listener = { + .name = "xen-io", +@@ -742,7 +742,7 @@ void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr, + return; + } + +- if (mr == &ram_memory) { ++ if (mr == &ram_memory || mr == &ram_grants) { + return; + } + +diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c +index a2f93096e7..0b75f1633a 100644 +--- a/hw/xen/xen-mapcache.c ++++ b/hw/xen/xen-mapcache.c +@@ -14,7 +14,10 @@ + + #include + ++#include "hw/xen/xen-hvm-common.h" + #include "hw/xen/xen-legacy-backend.h" ++#include "hw/xen/xen_pvdev.h" ++ + #include "qemu/bitmap.h" + + #include "sysemu/runstate.h" +@@ -597,3 +600,28 @@ uint8_t *xen_replace_cache_entry(hwaddr old_phys_addr, + mapcache_unlock(); + return p; + } ++ ++MemoryRegion *xen_init_grant_ram(void) ++{ ++ RAMBlock *block; ++ ++ memory_region_init(&ram_grants, NULL, "xen.grants", ++ XEN_MAX_VIRTIO_GRANTS * XC_PAGE_SIZE); ++ block = g_malloc0(sizeof(*block)); ++ block->mr = &ram_grants; ++ block->used_length = XEN_MAX_VIRTIO_GRANTS * XC_PAGE_SIZE; ++ block->max_length = XEN_MAX_VIRTIO_GRANTS * XC_PAGE_SIZE; ++ block->fd = -1; ++ block->page_size = XC_PAGE_SIZE; ++ block->host = (void *)XEN_GRANT_ADDR_OFF; ++ block->offset = XEN_GRANT_ADDR_OFF; ++ block->flags = RAM_PREALLOC; ++ ram_grants.ram_block = block; ++ ram_grants.ram = true; ++ ram_grants.terminates = true; ++ ram_block_add_list(block); ++ memory_region_add_subregion(get_system_memory(), XEN_GRANT_ADDR_OFF, ++ &ram_grants); ++ ++ return &ram_grants; ++} +diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h +index f3e0c78161..e60b055867 100644 +--- a/include/exec/ram_addr.h ++++ b/include/exec/ram_addr.h +@@ -137,6 +137,7 @@ void qemu_ram_free(RAMBlock *block); + int qemu_ram_resize(RAMBlock *block, ram_addr_t newsize, Error **errp); + + void qemu_ram_msync(RAMBlock *block, ram_addr_t start, ram_addr_t length); ++void ram_block_add_list(RAMBlock *new_block); + + /* Clear whole block of mem */ + static inline void qemu_ram_block_writeback(RAMBlock *block) +diff --git a/include/hw/xen/xen-hvm-common.h b/include/hw/xen/xen-hvm-common.h +index 2979f84ee2..6f7cc05d38 100644 +--- a/include/hw/xen/xen-hvm-common.h ++++ b/include/hw/xen/xen-hvm-common.h +@@ -16,6 +16,8 @@ + #include + + extern MemoryRegion ram_memory; ++ ++extern MemoryRegion ram_grants; + extern MemoryListener xen_io_listener; + extern DeviceListener xen_device_listener; + +diff --git a/include/hw/xen/xen_pvdev.h b/include/hw/xen/xen_pvdev.h +index 7cd4bc2b82..36cd3ec1d4 100644 +--- a/include/hw/xen/xen_pvdev.h ++++ b/include/hw/xen/xen_pvdev.h +@@ -78,4 +78,7 @@ int xen_pv_send_notify(struct XenLegacyDevice *xendev); + void xen_pv_printf(struct XenLegacyDevice *xendev, int msg_level, + const char *fmt, ...) G_GNUC_PRINTF(3, 4); + ++#define XEN_GRANT_ADDR_OFF 0x8000000000000000ULL ++#define XEN_MAX_VIRTIO_GRANTS 65536 ++ + #endif /* QEMU_HW_XEN_PVDEV_H */ +diff --git a/include/sysemu/xen-mapcache.h b/include/sysemu/xen-mapcache.h +index c8e7c2f6cf..f4bedb1c11 100644 +--- a/include/sysemu/xen-mapcache.h ++++ b/include/sysemu/xen-mapcache.h +@@ -10,6 +10,7 @@ + #define XEN_MAPCACHE_H + + #include "exec/cpu-common.h" ++#include "exec/ram_addr.h" + + typedef hwaddr (*phys_offset_to_gaddr_t)(hwaddr phys_offset, + ram_addr_t size); +@@ -25,6 +26,8 @@ void xen_invalidate_map_cache(void); + uint8_t *xen_replace_cache_entry(hwaddr old_phys_addr, + hwaddr new_phys_addr, + hwaddr size); ++MemoryRegion *xen_init_grant_ram(void); ++ + #else + + static inline void xen_map_cache_init(phys_offset_to_gaddr_t f, +diff --git a/softmmu/physmem.c b/softmmu/physmem.c +index dc3c3e5f2e..63ba5f7495 100644 +--- a/softmmu/physmem.c ++++ b/softmmu/physmem.c +@@ -1971,12 +1971,46 @@ static void dirty_memory_extend(ram_addr_t old_ram_size, + } + } + ++static void ram_block_add_list_locked(RAMBlock *new_block) ++ { ++ RAMBlock *block; ++ RAMBlock *last_block = NULL; ++ ++ /* Keep the list sorted from biggest to smallest block. Unlike QTAILQ, ++ * QLIST (which has an RCU-friendly variant) does not have insertion at ++ * tail, so save the last element in last_block. ++ */ ++ RAMBLOCK_FOREACH(block) { ++ last_block = block; ++ if (block->max_length < new_block->max_length) { ++ break; ++ } ++ } ++ if (block) { ++ QLIST_INSERT_BEFORE_RCU(block, new_block, next); ++ } else if (last_block) { ++ QLIST_INSERT_AFTER_RCU(last_block, new_block, next); ++ } else { /* list is empty */ ++ QLIST_INSERT_HEAD_RCU(&ram_list.blocks, new_block, next); ++ } ++ ram_list.mru_block = NULL; ++ ++ /* Write list before version */ ++ smp_wmb(); ++ ram_list.version++; ++} ++ ++void ram_block_add_list(RAMBlock *new_block) ++{ ++ qemu_mutex_lock_ramlist(); ++ ram_block_add_list_locked(new_block); ++ qemu_mutex_unlock_ramlist(); ++} ++ + static void ram_block_add(RAMBlock *new_block, Error **errp) + { + const bool noreserve = qemu_ram_is_noreserve(new_block); + const bool shared = qemu_ram_is_shared(new_block); +- RAMBlock *block; +- RAMBlock *last_block = NULL; + ram_addr_t old_ram_size, new_ram_size; + Error *err = NULL; + +@@ -2014,28 +2048,9 @@ static void ram_block_add(RAMBlock *new_block, Error **errp) + if (new_ram_size > old_ram_size) { + dirty_memory_extend(old_ram_size, new_ram_size); + } +- /* Keep the list sorted from biggest to smallest block. Unlike QTAILQ, +- * QLIST (which has an RCU-friendly variant) does not have insertion at +- * tail, so save the last element in last_block. +- */ +- RAMBLOCK_FOREACH(block) { +- last_block = block; +- if (block->max_length < new_block->max_length) { +- break; +- } +- } +- if (block) { +- QLIST_INSERT_BEFORE_RCU(block, new_block, next); +- } else if (last_block) { +- QLIST_INSERT_AFTER_RCU(last_block, new_block, next); +- } else { /* list is empty */ +- QLIST_INSERT_HEAD_RCU(&ram_list.blocks, new_block, next); +- } +- ram_list.mru_block = NULL; + +- /* Write list before version */ +- smp_wmb(); +- ram_list.version++; ++ ram_block_add_list_locked(new_block); ++ + qemu_mutex_unlock_ramlist(); + + cpu_physical_memory_set_dirty_range(new_block->offset, +-- +2.25.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0002-xen-mapcache-move-xen-mapcache.c-to-hw-xen.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0002-xen-mapcache-move-xen-mapcache.c-to-hw-xen.patch new file mode 100644 index 00000000..35ca6df4 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0002-xen-mapcache-move-xen-mapcache.c-to-hw-xen.patch @@ -0,0 +1,88 @@ +From 423468bdb3728154e95af18ef755bc75c5d59a3a Mon Sep 17 00:00:00 2001 +From: Vikram Garhwal +Date: Thu, 30 Jun 2022 18:19:50 -0700 +Subject: [PATCH 02/16] xen-mapcache: move xen-mapcache.c to hw/xen + +xen-mapcache.c contains common functions which are useful for Xen on ARM +IOREQ handling. Moving it out of i386 to hw/xen for commong access. + +Signed-off-by: Vikram Garhwal +Reviewed-by: Stefano Stabellini +Signed-off-by: Stefano Stabellini +--- + hw/i386/meson.build | 1 + + hw/i386/xen/meson.build | 1 - + hw/i386/xen/trace-events | 5 ----- + hw/xen/meson.build | 4 ++++ + hw/xen/trace-events | 5 +++++ + hw/{i386 => }/xen/xen-mapcache.c | 0 + 6 files changed, 10 insertions(+), 6 deletions(-) + rename hw/{i386 => }/xen/xen-mapcache.c (100%) + +diff --git a/hw/i386/meson.build b/hw/i386/meson.build +index 213e2e82b3..cfdbfdcbcb 100644 +--- a/hw/i386/meson.build ++++ b/hw/i386/meson.build +@@ -33,5 +33,6 @@ subdir('kvm') + subdir('xen') + + i386_ss.add_all(xenpv_ss) ++i386_ss.add_all(xen_ss) + + hw_arch += {'i386': i386_ss} +diff --git a/hw/i386/xen/meson.build b/hw/i386/xen/meson.build +index be84130300..2fcc46e6ca 100644 +--- a/hw/i386/xen/meson.build ++++ b/hw/i386/xen/meson.build +@@ -1,6 +1,5 @@ + i386_ss.add(when: 'CONFIG_XEN', if_true: files( + 'xen-hvm.c', +- 'xen-mapcache.c', + 'xen_apic.c', + 'xen_platform.c', + 'xen_pvdevice.c', +diff --git a/hw/i386/xen/trace-events b/hw/i386/xen/trace-events +index 5d6be61090..a0c89d91c4 100644 +--- a/hw/i386/xen/trace-events ++++ b/hw/i386/xen/trace-events +@@ -21,8 +21,3 @@ xen_map_resource_ioreq(uint32_t id, void *addr) "id: %u addr: %p" + cpu_ioreq_config_read(void *req, uint32_t sbdf, uint32_t reg, uint32_t size, uint32_t data) "I/O=%p sbdf=0x%x reg=%u size=%u data=0x%x" + cpu_ioreq_config_write(void *req, uint32_t sbdf, uint32_t reg, uint32_t size, uint32_t data) "I/O=%p sbdf=0x%x reg=%u size=%u data=0x%x" + +-# xen-mapcache.c +-xen_map_cache(uint64_t phys_addr) "want 0x%"PRIx64 +-xen_remap_bucket(uint64_t index) "index 0x%"PRIx64 +-xen_map_cache_return(void* ptr) "%p" +- +diff --git a/hw/xen/meson.build b/hw/xen/meson.build +index ae0ace3046..19d0637c46 100644 +--- a/hw/xen/meson.build ++++ b/hw/xen/meson.build +@@ -22,3 +22,7 @@ else + endif + + specific_ss.add_all(when: ['CONFIG_XEN', xen], if_true: xen_specific_ss) ++ ++xen_ss = ss.source_set() ++ ++xen_ss.add(when: 'CONFIG_XEN', if_true: files('xen-mapcache.c')) +diff --git a/hw/xen/trace-events b/hw/xen/trace-events +index 3da3fd8348..2c8f238f42 100644 +--- a/hw/xen/trace-events ++++ b/hw/xen/trace-events +@@ -41,3 +41,8 @@ xs_node_vprintf(char *path, char *value) "%s %s" + xs_node_vscanf(char *path, char *value) "%s %s" + xs_node_watch(char *path) "%s" + xs_node_unwatch(char *path) "%s" ++ ++# xen-mapcache.c ++xen_map_cache(uint64_t phys_addr) "want 0x%"PRIx64 ++xen_remap_bucket(uint64_t index) "index 0x%"PRIx64 ++xen_map_cache_return(void* ptr) "%p" +diff --git a/hw/i386/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c +similarity index 100% +rename from hw/i386/xen/xen-mapcache.c +rename to hw/xen/xen-mapcache.c +-- +2.17.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0003-hw-i386-xen-rearrange-xen_hvm_init_pc.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0003-hw-i386-xen-rearrange-xen_hvm_init_pc.patch new file mode 100644 index 00000000..1113cf39 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0003-hw-i386-xen-rearrange-xen_hvm_init_pc.patch @@ -0,0 +1,106 @@ +From 4472924c800e9dbf46e4c2432565d3e406b35d27 Mon Sep 17 00:00:00 2001 +From: Vikram Garhwal +Date: Fri, 1 Jul 2022 16:32:33 -0700 +Subject: [PATCH 03/16] hw/i386/xen: rearrange xen_hvm_init_pc + +Move references to: +- xen_get_vmport_regs_pfn +- xen_suspend_notifier +- xen_wakeup_notifier +- xen_ram_init + +towards the end of the function. This is done to keep the the common +ioreq functions in one place which will be moved to new function in next +patch in order to make it useful to ARM machines also. + +Signed-off-by: Vikram Garhwal +Signed-off-by: Stefano Stabellini +Reviewed-by: Stefano Stabellini +--- + hw/i386/xen/xen-hvm.c | 49 ++++++++++++++++++++++--------------------- + 1 file changed, 25 insertions(+), 24 deletions(-) + +diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c +index e4293d6d66..b27484ad22 100644 +--- a/hw/i386/xen/xen-hvm.c ++++ b/hw/i386/xen/xen-hvm.c +@@ -1416,12 +1416,6 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory) + state->exit.notify = xen_exit_notifier; + qemu_add_exit_notifier(&state->exit); + +- state->suspend.notify = xen_suspend_notifier; +- qemu_register_suspend_notifier(&state->suspend); +- +- state->wakeup.notify = xen_wakeup_notifier; +- qemu_register_wakeup_notifier(&state->wakeup); +- + /* + * Register wake-up support in QMP query-current-machine API + */ +@@ -1432,23 +1426,6 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory) + goto err; + } + +- rc = xen_get_vmport_regs_pfn(xen_xc, xen_domid, &ioreq_pfn); +- if (!rc) { +- DPRINTF("shared vmport page at pfn %lx\n", ioreq_pfn); +- state->shared_vmport_page = +- xenforeignmemory_map(xen_fmem, xen_domid, PROT_READ|PROT_WRITE, +- 1, &ioreq_pfn, NULL); +- if (state->shared_vmport_page == NULL) { +- error_report("map shared vmport IO page returned error %d handle=%p", +- errno, xen_xc); +- goto err; +- } +- } else if (rc != -ENOSYS) { +- error_report("get vmport regs pfn returned error %d, rc=%d", +- errno, rc); +- goto err; +- } +- + /* Note: cpus is empty at this point in init */ + state->cpu_by_vcpu_id = g_new0(CPUState *, max_cpus); + +@@ -1486,7 +1463,6 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory) + #else + xen_map_cache_init(NULL, state); + #endif +- xen_ram_init(pcms, ms->ram_size, ram_memory); + + qemu_add_vm_change_state_handler(xen_hvm_change_state_handler, state); + +@@ -1513,6 +1489,31 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory) + QLIST_INIT(&xen_physmap); + xen_read_physmap(state); + ++ state->suspend.notify = xen_suspend_notifier; ++ qemu_register_suspend_notifier(&state->suspend); ++ ++ state->wakeup.notify = xen_wakeup_notifier; ++ qemu_register_wakeup_notifier(&state->wakeup); ++ ++ rc = xen_get_vmport_regs_pfn(xen_xc, xen_domid, &ioreq_pfn); ++ if (!rc) { ++ DPRINTF("shared vmport page at pfn %lx\n", ioreq_pfn); ++ state->shared_vmport_page = ++ xenforeignmemory_map(xen_fmem, xen_domid, PROT_READ|PROT_WRITE, ++ 1, &ioreq_pfn, NULL); ++ if (state->shared_vmport_page == NULL) { ++ error_report("map shared vmport IO page returned error %d handle=%p", ++ errno, xen_xc); ++ goto err; ++ } ++ } else if (rc != -ENOSYS) { ++ error_report("get vmport regs pfn returned error %d, rc=%d", ++ errno, rc); ++ goto err; ++ } ++ ++ xen_ram_init(pcms, ms->ram_size, ram_memory); ++ + /* Disable ACPI build because Xen handles it */ + pcms->acpi_build_enabled = false; + +-- +2.17.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0003-softmmu-let-qemu_map_ram_ptr-use-qemu_ram_ptr_length.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0003-softmmu-let-qemu_map_ram_ptr-use-qemu_ram_ptr_length.patch new file mode 100644 index 00000000..bff815bc --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0003-softmmu-let-qemu_map_ram_ptr-use-qemu_ram_ptr_length.patch @@ -0,0 +1,113 @@ +From cb4be1f7185c5974523c764f3f6efe3af6633d71 Mon Sep 17 00:00:00 2001 +From: Juergen Gross +Date: Thu, 20 May 2021 11:54:48 +0200 +Subject: [PATCH 3/8] softmmu: let qemu_map_ram_ptr() use qemu_ram_ptr_length() + +qemu_map_ram_ptr() and qemu_ram_ptr_length() share quite some code, so +modify qemu_ram_ptr_length() a little bit and use it for +qemu_map_ram_ptr(), too. + +Signed-off-by: Juergen Gross +Acked-by: Stefano Stabellini +--- + softmmu/physmem.c | 56 ++++++++++++++++++----------------------------- + 1 file changed, 21 insertions(+), 35 deletions(-) + +diff --git a/softmmu/physmem.c b/softmmu/physmem.c +index 63ba5f7495..439a53a1be 100644 +--- a/softmmu/physmem.c ++++ b/softmmu/physmem.c +@@ -2306,38 +2306,7 @@ void qemu_ram_remap(ram_addr_t addr, ram_addr_t length) + } + #endif /* !_WIN32 */ + +-/* Return a host pointer to ram allocated with qemu_ram_alloc. +- * This should not be used for general purpose DMA. Use address_space_map +- * or address_space_rw instead. For local memory (e.g. video ram) that the +- * device owns, use memory_region_get_ram_ptr. +- * +- * Called within RCU critical section. +- */ +-void *qemu_map_ram_ptr(RAMBlock *ram_block, ram_addr_t addr) +-{ +- RAMBlock *block = ram_block; +- +- if (block == NULL) { +- block = qemu_get_ram_block(addr); +- addr -= block->offset; +- } +- +- if (xen_enabled() && block->host == NULL) { +- /* We need to check if the requested address is in the RAM +- * because we don't want to map the entire memory in QEMU. +- * In that case just map until the end of the page. +- */ +- if (block->offset == 0) { +- return xen_map_cache(addr, 0, 0, false); +- } +- +- block->host = xen_map_cache(block->offset, block->max_length, 1, false); +- } +- return ramblock_ptr(block, addr); +-} +- +-/* Return a host pointer to guest's ram. Similar to qemu_map_ram_ptr +- * but takes a size argument. ++/* Return a host pointer to guest's ram. + * + * Called within RCU critical section. + */ +@@ -2345,7 +2314,9 @@ static void *qemu_ram_ptr_length(RAMBlock *ram_block, ram_addr_t addr, + hwaddr *size, bool lock) + { + RAMBlock *block = ram_block; +- if (*size == 0) { ++ hwaddr len = 0; ++ ++ if (size && *size == 0) { + return NULL; + } + +@@ -2353,7 +2324,10 @@ static void *qemu_ram_ptr_length(RAMBlock *ram_block, ram_addr_t addr, + block = qemu_get_ram_block(addr); + addr -= block->offset; + } +- *size = MIN(*size, block->max_length - addr); ++ if (size) { ++ *size = MIN(*size, block->max_length - addr); ++ len = *size; ++ } + + if (xen_enabled() && block->host == NULL) { + /* We need to check if the requested address is in the RAM +@@ -2361,7 +2335,7 @@ static void *qemu_ram_ptr_length(RAMBlock *ram_block, ram_addr_t addr, + * In that case just map the requested area. + */ + if (block->offset == 0) { +- return xen_map_cache(addr, *size, lock, lock); ++ return xen_map_cache(addr, len, lock, lock); + } + + block->host = xen_map_cache(block->offset, block->max_length, 1, lock); +@@ -2370,6 +2344,18 @@ static void *qemu_ram_ptr_length(RAMBlock *ram_block, ram_addr_t addr, + return ramblock_ptr(block, addr); + } + ++/* Return a host pointer to ram allocated with qemu_ram_alloc. ++ * This should not be used for general purpose DMA. Use address_space_map ++ * or address_space_rw instead. For local memory (e.g. video ram) that the ++ * device owns, use memory_region_get_ram_ptr. ++ * ++ * Called within RCU critical section. ++ */ ++void *qemu_map_ram_ptr(RAMBlock *ram_block, ram_addr_t addr) ++{ ++ return qemu_ram_ptr_length(ram_block, addr, NULL, false); ++} ++ + /* Return the offset of a hostpointer within a ramblock */ + ram_addr_t qemu_ram_block_host_offset(RAMBlock *rb, void *host) + { +-- +2.25.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0004-xen-hvm-move-x86-specific-fields-out-of-XenIOState.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0004-xen-hvm-move-x86-specific-fields-out-of-XenIOState.patch new file mode 100644 index 00000000..4337e0c8 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0004-xen-hvm-move-x86-specific-fields-out-of-XenIOState.patch @@ -0,0 +1,180 @@ +From 2a01fa06d267f68148d3a6df50675edfe090601a Mon Sep 17 00:00:00 2001 +From: Stefano Stabellini +Date: Fri, 1 Jul 2022 18:16:52 -0700 +Subject: [PATCH 04/16] xen-hvm: move x86-specific fields out of XenIOState + +Move: +- shared_vmport_page +- log_for_dirtybit +- dirty_bitmap +- suspend +- wakeup + +out of XenIOState as they are only used on x86, especially the ones +related to dirty logging. + +Remove free_phys_offset that was unused. + +Signed-off-by: Stefano Stabellini +--- + hw/i386/xen/xen-hvm.c | 58 ++++++++++++++++++++----------------------- + 1 file changed, 27 insertions(+), 31 deletions(-) + +diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c +index b27484ad22..225cfdf8b7 100644 +--- a/hw/i386/xen/xen-hvm.c ++++ b/hw/i386/xen/xen-hvm.c +@@ -73,6 +73,7 @@ struct shared_vmport_iopage { + }; + typedef struct shared_vmport_iopage shared_vmport_iopage_t; + #endif ++static shared_vmport_iopage_t *shared_vmport_page; + + static inline uint32_t xen_vcpu_eport(shared_iopage_t *shared_page, int i) + { +@@ -95,6 +96,11 @@ typedef struct XenPhysmap { + } XenPhysmap; + + static QLIST_HEAD(, XenPhysmap) xen_physmap; ++static const XenPhysmap *log_for_dirtybit = NULL; ++/* Buffer used by xen_sync_dirty_bitmap */ ++static unsigned long *dirty_bitmap = NULL; ++static Notifier suspend; ++static Notifier wakeup; + + typedef struct XenPciDevice { + PCIDevice *pci_dev; +@@ -105,7 +111,6 @@ typedef struct XenPciDevice { + typedef struct XenIOState { + ioservid_t ioservid; + shared_iopage_t *shared_page; +- shared_vmport_iopage_t *shared_vmport_page; + buffered_iopage_t *buffered_io_page; + xenforeignmemory_resource_handle *fres; + QEMUTimer *buffered_io_timer; +@@ -125,14 +130,8 @@ typedef struct XenIOState { + MemoryListener io_listener; + QLIST_HEAD(, XenPciDevice) dev_list; + DeviceListener device_listener; +- hwaddr free_phys_offset; +- const XenPhysmap *log_for_dirtybit; +- /* Buffer used by xen_sync_dirty_bitmap */ +- unsigned long *dirty_bitmap; + + Notifier exit; +- Notifier suspend; +- Notifier wakeup; + } XenIOState; + + /* Xen specific function for piix pci */ +@@ -462,10 +461,10 @@ static int xen_remove_from_physmap(XenIOState *state, + } + + QLIST_REMOVE(physmap, list); +- if (state->log_for_dirtybit == physmap) { +- state->log_for_dirtybit = NULL; +- g_free(state->dirty_bitmap); +- state->dirty_bitmap = NULL; ++ if (log_for_dirtybit == physmap) { ++ log_for_dirtybit = NULL; ++ g_free(dirty_bitmap); ++ dirty_bitmap = NULL; + } + g_free(physmap); + +@@ -626,16 +625,16 @@ static void xen_sync_dirty_bitmap(XenIOState *state, + return; + } + +- if (state->log_for_dirtybit == NULL) { +- state->log_for_dirtybit = physmap; +- state->dirty_bitmap = g_new(unsigned long, bitmap_size); +- } else if (state->log_for_dirtybit != physmap) { ++ if (log_for_dirtybit == NULL) { ++ log_for_dirtybit = physmap; ++ dirty_bitmap = g_new(unsigned long, bitmap_size); ++ } else if (log_for_dirtybit != physmap) { + /* Only one range for dirty bitmap can be tracked. */ + return; + } + + rc = xen_track_dirty_vram(xen_domid, start_addr >> TARGET_PAGE_BITS, +- npages, state->dirty_bitmap); ++ npages, dirty_bitmap); + if (rc < 0) { + #ifndef ENODATA + #define ENODATA ENOENT +@@ -650,7 +649,7 @@ static void xen_sync_dirty_bitmap(XenIOState *state, + } + + for (i = 0; i < bitmap_size; i++) { +- unsigned long map = state->dirty_bitmap[i]; ++ unsigned long map = dirty_bitmap[i]; + while (map != 0) { + j = ctzl(map); + map &= ~(1ul << j); +@@ -676,12 +675,10 @@ static void xen_log_start(MemoryListener *listener, + static void xen_log_stop(MemoryListener *listener, MemoryRegionSection *section, + int old, int new) + { +- XenIOState *state = container_of(listener, XenIOState, memory_listener); +- + if (old & ~new & (1 << DIRTY_MEMORY_VGA)) { +- state->log_for_dirtybit = NULL; +- g_free(state->dirty_bitmap); +- state->dirty_bitmap = NULL; ++ log_for_dirtybit = NULL; ++ g_free(dirty_bitmap); ++ dirty_bitmap = NULL; + /* Disable dirty bit tracking */ + xen_track_dirty_vram(xen_domid, 0, 0, NULL); + } +@@ -1021,9 +1018,9 @@ static void handle_vmport_ioreq(XenIOState *state, ioreq_t *req) + { + vmware_regs_t *vmport_regs; + +- assert(state->shared_vmport_page); ++ assert(shared_vmport_page); + vmport_regs = +- &state->shared_vmport_page->vcpu_vmport_regs[state->send_vcpu]; ++ &shared_vmport_page->vcpu_vmport_regs[state->send_vcpu]; + QEMU_BUILD_BUG_ON(sizeof(*req) < sizeof(*vmport_regs)); + + current_cpu = state->cpu_by_vcpu_id[state->send_vcpu]; +@@ -1468,7 +1465,6 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory) + + state->memory_listener = xen_memory_listener; + memory_listener_register(&state->memory_listener, &address_space_memory); +- state->log_for_dirtybit = NULL; + + state->io_listener = xen_io_listener; + memory_listener_register(&state->io_listener, &address_space_io); +@@ -1489,19 +1485,19 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory) + QLIST_INIT(&xen_physmap); + xen_read_physmap(state); + +- state->suspend.notify = xen_suspend_notifier; +- qemu_register_suspend_notifier(&state->suspend); ++ suspend.notify = xen_suspend_notifier; ++ qemu_register_suspend_notifier(&suspend); + +- state->wakeup.notify = xen_wakeup_notifier; +- qemu_register_wakeup_notifier(&state->wakeup); ++ wakeup.notify = xen_wakeup_notifier; ++ qemu_register_wakeup_notifier(&wakeup); + + rc = xen_get_vmport_regs_pfn(xen_xc, xen_domid, &ioreq_pfn); + if (!rc) { + DPRINTF("shared vmport page at pfn %lx\n", ioreq_pfn); +- state->shared_vmport_page = ++ shared_vmport_page = + xenforeignmemory_map(xen_fmem, xen_domid, PROT_READ|PROT_WRITE, + 1, &ioreq_pfn, NULL); +- if (state->shared_vmport_page == NULL) { ++ if (shared_vmport_page == NULL) { + error_report("map shared vmport IO page returned error %d handle=%p", + errno, xen_xc); + goto err; +-- +2.17.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0004-xen-let-xen_ram_addr_from_mapcache-return-1-in-case-.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0004-xen-let-xen_ram_addr_from_mapcache-return-1-in-case-.patch new file mode 100644 index 00000000..25dc0ae0 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0004-xen-let-xen_ram_addr_from_mapcache-return-1-in-case-.patch @@ -0,0 +1,49 @@ +From 7dfa8828bd2e61fc5bf2bf6294aad16b2bf4ff8a Mon Sep 17 00:00:00 2001 +From: Juergen Gross +Date: Thu, 20 May 2021 13:31:32 +0200 +Subject: [PATCH 4/8] xen: let xen_ram_addr_from_mapcache() return -1 in case + of not found entry + +Today xen_ram_addr_from_mapcache() will either abort() or return 0 in +case it can't find a matching entry for a pointer value. Both cases +are bad, so change that to return an invalid address instead. + +Signed-off-by: Juergen Gross +Acked-by: Stefano Stabellini +--- + hw/xen/xen-mapcache.c | 12 +++--------- + 1 file changed, 3 insertions(+), 9 deletions(-) + +diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c +index 0b75f1633a..e53e7221f1 100644 +--- a/hw/xen/xen-mapcache.c ++++ b/hw/xen/xen-mapcache.c +@@ -405,13 +405,8 @@ ram_addr_t xen_ram_addr_from_mapcache(void *ptr) + } + } + if (!found) { +- fprintf(stderr, "%s, could not find %p\n", __func__, ptr); +- QTAILQ_FOREACH(reventry, &mapcache->locked_entries, next) { +- DPRINTF(" "TARGET_FMT_plx" -> %p is present\n", reventry->paddr_index, +- reventry->vaddr_req); +- } +- abort(); +- return 0; ++ mapcache_unlock(); ++ return RAM_ADDR_INVALID; + } + + entry = &mapcache->entry[paddr_index % mapcache->nr_buckets]; +@@ -419,8 +414,7 @@ ram_addr_t xen_ram_addr_from_mapcache(void *ptr) + entry = entry->next; + } + if (!entry) { +- DPRINTF("Trying to find address %p that is not in the mapcache!\n", ptr); +- raddr = 0; ++ raddr = RAM_ADDR_INVALID; + } else { + raddr = (reventry->paddr_index << MCACHE_BUCKET_SHIFT) + + ((unsigned long) ptr - (unsigned long) entry->vaddr_base); +-- +2.25.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0005-memory-add-MemoryRegion-map-and-unmap-callbacks.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0005-memory-add-MemoryRegion-map-and-unmap-callbacks.patch new file mode 100644 index 00000000..db6d8fe5 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0005-memory-add-MemoryRegion-map-and-unmap-callbacks.patch @@ -0,0 +1,150 @@ +From bd32a130ca633eae7cf0f4ff0fa856004d413df0 Mon Sep 17 00:00:00 2001 +From: Juergen Gross +Date: Thu, 27 May 2021 15:27:55 +0200 +Subject: [PATCH 5/8] memory: add MemoryRegion map and unmap callbacks + +In order to support mapping and unmapping guest memory dynamically to +and from qemu during address_space_[un]map() operations add the map() +and unmap() callbacks to MemoryRegionOps. + +Those will be used e.g. for Xen grant mappings when performing guest +I/Os. + +Signed-off-by: Juergen Gross +Signed-off-by: Vikram Garhwal +Acked-by: Stefano Stabellini +--- + include/exec/memory.h | 19 +++++++++++++++++ + softmmu/physmem.c | 47 +++++++++++++++++++++++++++++++++---------- + 2 files changed, 55 insertions(+), 11 deletions(-) + +diff --git a/include/exec/memory.h b/include/exec/memory.h +index bfb1de8eea..19e2aac694 100644 +--- a/include/exec/memory.h ++++ b/include/exec/memory.h +@@ -245,6 +245,25 @@ struct MemoryRegionOps { + unsigned size, + MemTxAttrs attrs); + ++ /* Dynamically create mapping. @addr is the guest address to map; @plen ++ * is the pointer to the usable length of the buffer. ++ * @mr contents can be changed in case a new memory region is created for ++ * the mapping. ++ * Returns the buffer address for accessing the data. */ ++ void *(*map)(MemoryRegion **mr, ++ hwaddr addr, ++ hwaddr *plen, ++ bool is_write, ++ MemTxAttrs attrs); ++ ++ /* Unmap an area obtained via map() before. */ ++ void (*unmap)(MemoryRegion *mr, ++ void *buffer, ++ ram_addr_t addr, ++ hwaddr len, ++ bool is_write, ++ hwaddr access_len); ++ + enum device_endian endianness; + /* Guest-visible constraints: */ + struct { +diff --git a/softmmu/physmem.c b/softmmu/physmem.c +index 439a53a1be..2038240311 100644 +--- a/softmmu/physmem.c ++++ b/softmmu/physmem.c +@@ -3237,7 +3237,7 @@ void *address_space_map(AddressSpace *as, + hwaddr len = *plen; + hwaddr l, xlat; + MemoryRegion *mr; +- void *ptr; ++ void *ptr = NULL; + FlatView *fv; + + if (len == 0) { +@@ -3273,10 +3273,17 @@ void *address_space_map(AddressSpace *as, + + + memory_region_ref(mr); ++ ++ if (mr->ops && mr->ops->map) { ++ ptr = mr->ops->map(&mr, addr, plen, is_write, attrs); ++ } ++ + *plen = flatview_extend_translation(fv, addr, len, mr, xlat, + l, is_write, attrs); + fuzz_dma_read_cb(addr, *plen, mr); +- ptr = qemu_ram_ptr_length(mr->ram_block, xlat, plen, true); ++ if (ptr == NULL) { ++ ptr = qemu_ram_ptr_length(mr->ram_block, xlat, plen, true); ++ } + + return ptr; + } +@@ -3294,11 +3301,16 @@ void address_space_unmap(AddressSpace *as, void *buffer, hwaddr len, + + mr = memory_region_from_host(buffer, &addr1); + assert(mr != NULL); +- if (is_write) { +- invalidate_and_set_dirty(mr, addr1, access_len); +- } +- if (xen_enabled()) { +- xen_invalidate_map_cache_entry(buffer); ++ ++ if (mr->ops && mr->ops->unmap) { ++ mr->ops->unmap(mr, buffer, addr1, len, is_write, access_len); ++ } else { ++ if (is_write) { ++ invalidate_and_set_dirty(mr, addr1, access_len); ++ } ++ if (xen_enabled()) { ++ xen_invalidate_map_cache_entry(buffer); ++ } + } + memory_region_unref(mr); + return; +@@ -3370,10 +3382,17 @@ int64_t address_space_cache_init(MemoryRegionCache *cache, + * doing this if we found actual RAM, which behaves the same + * regardless of attributes; so UNSPECIFIED is fine. + */ ++ if (mr->ops && mr->ops->map) { ++ cache->ptr = mr->ops->map(&mr, addr, &l, is_write, ++ MEMTXATTRS_UNSPECIFIED); ++ } ++ + l = flatview_extend_translation(cache->fv, addr, len, mr, + cache->xlat, l, is_write, + MEMTXATTRS_UNSPECIFIED); +- cache->ptr = qemu_ram_ptr_length(mr->ram_block, cache->xlat, &l, true); ++ if (!cache->ptr) { ++ cache->ptr = qemu_ram_ptr_length(mr->ram_block, cache->xlat, &l, true); ++ } + } else { + cache->ptr = NULL; + } +@@ -3395,14 +3414,20 @@ void address_space_cache_invalidate(MemoryRegionCache *cache, + + void address_space_cache_destroy(MemoryRegionCache *cache) + { +- if (!cache->mrs.mr) { ++ MemoryRegion *mr = cache->mrs.mr; ++ ++ if (!mr) { + return; + } + +- if (xen_enabled()) { ++ if (mr->ops && mr->ops->unmap) { ++ mr->ops->unmap(mr, cache->ptr, cache->xlat, cache->len, ++ cache->is_write, cache->len); ++ } else if (xen_enabled()) { + xen_invalidate_map_cache_entry(cache->ptr); + } +- memory_region_unref(cache->mrs.mr); ++ ++ memory_region_unref(mr); + flatview_unref(cache->fv); + cache->mrs.mr = NULL; + cache->fv = NULL; +-- +2.25.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0005-xen-hvm-create-arch_handle_ioreq-and-arch_xen_set_me.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0005-xen-hvm-create-arch_handle_ioreq-and-arch_xen_set_me.patch new file mode 100644 index 00000000..6b56a39e --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0005-xen-hvm-create-arch_handle_ioreq-and-arch_xen_set_me.patch @@ -0,0 +1,192 @@ +From c38436434fc888ba8844d99eab451f9b734e5e5b Mon Sep 17 00:00:00 2001 +From: Stefano Stabellini +Date: Fri, 1 Jul 2022 19:34:39 -0700 +Subject: [PATCH 05/16] xen-hvm: create arch_handle_ioreq and + arch_xen_set_memory + +In preparation to moving most of xen-hvm code to an arch-neutral +location, move the x86-specific portion of xen_set_memory to +arch_xen_set_memory. + +Also move handle_vmport_ioreq to arch_handle_ioreq. + +Signed-off-by: Stefano Stabellini +Signed-off-by: Vikram Garhwal +Reviewed-by: Stefano Stabellini +--- + hw/i386/xen/xen-hvm.c | 98 ++++++++++++++++++++-------------- + include/hw/i386/xen_arch_hvm.h | 10 ++++ + include/hw/xen/arch_hvm.h | 3 ++ + 3 files changed, 71 insertions(+), 40 deletions(-) + create mode 100644 include/hw/i386/xen_arch_hvm.h + create mode 100644 include/hw/xen/arch_hvm.h + +diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c +index 225cfdf8b7..178f0c68fc 100644 +--- a/hw/i386/xen/xen-hvm.c ++++ b/hw/i386/xen/xen-hvm.c +@@ -134,6 +134,8 @@ typedef struct XenIOState { + Notifier exit; + } XenIOState; + ++#include "hw/xen/arch_hvm.h" ++ + /* Xen specific function for piix pci */ + + int xen_pci_slot_get_pirq(PCIDevice *pci_dev, int irq_num) +@@ -476,10 +478,6 @@ static void xen_set_memory(struct MemoryListener *listener, + bool add) + { + XenIOState *state = container_of(listener, XenIOState, memory_listener); +- hwaddr start_addr = section->offset_within_address_space; +- ram_addr_t size = int128_get64(section->size); +- bool log_dirty = memory_region_is_logging(section->mr, DIRTY_MEMORY_VGA); +- hvmmem_type_t mem_type; + + if (section->mr == &ram_memory) { + return; +@@ -492,38 +490,7 @@ static void xen_set_memory(struct MemoryListener *listener, + section); + } + } +- +- if (!memory_region_is_ram(section->mr)) { +- return; +- } +- +- if (log_dirty != add) { +- return; +- } +- +- trace_xen_client_set_memory(start_addr, size, log_dirty); +- +- start_addr &= TARGET_PAGE_MASK; +- size = TARGET_PAGE_ALIGN(size); +- +- if (add) { +- if (!memory_region_is_rom(section->mr)) { +- xen_add_to_physmap(state, start_addr, size, +- section->mr, section->offset_within_region); +- } else { +- mem_type = HVMMEM_ram_ro; +- if (xen_set_mem_type(xen_domid, mem_type, +- start_addr >> TARGET_PAGE_BITS, +- size >> TARGET_PAGE_BITS)) { +- DPRINTF("xen_set_mem_type error, addr: "TARGET_FMT_plx"\n", +- start_addr); +- } +- } +- } else { +- if (xen_remove_from_physmap(state, start_addr, size) < 0) { +- DPRINTF("physmapping does not exist at "TARGET_FMT_plx"\n", start_addr); +- } +- } ++ arch_xen_set_memory(state, section, add); + } + + static void xen_region_add(MemoryListener *listener, +@@ -1051,9 +1018,6 @@ static void handle_ioreq(XenIOState *state, ioreq_t *req) + case IOREQ_TYPE_COPY: + cpu_ioreq_move(req); + break; +- case IOREQ_TYPE_VMWARE_PORT: +- handle_vmport_ioreq(state, req); +- break; + case IOREQ_TYPE_TIMEOFFSET: + break; + case IOREQ_TYPE_INVALIDATE: +@@ -1063,7 +1027,7 @@ static void handle_ioreq(XenIOState *state, ioreq_t *req) + cpu_ioreq_config(state, req); + break; + default: +- hw_error("Invalid ioreq type 0x%x\n", req->type); ++ arch_handle_ioreq(state, req); + } + if (req->dir == IOREQ_READ) { + trace_handle_ioreq_read(req, req->type, req->df, req->data_is_ptr, +@@ -1604,3 +1568,57 @@ void qmp_xen_set_global_dirty_log(bool enable, Error **errp) + memory_global_dirty_log_stop(GLOBAL_DIRTY_MIGRATION); + } + } ++ ++void arch_xen_set_memory(XenIOState *state,MemoryRegionSection *section, ++ bool add) ++{ ++ hwaddr start_addr = section->offset_within_address_space; ++ ram_addr_t size = int128_get64(section->size); ++ bool log_dirty = memory_region_is_logging(section->mr, DIRTY_MEMORY_VGA); ++ hvmmem_type_t mem_type; ++ ++ if (!memory_region_is_ram(section->mr)) { ++ return; ++ } ++ ++ if (log_dirty != add) { ++ return; ++ } ++ ++ trace_xen_client_set_memory(start_addr, size, log_dirty); ++ ++ start_addr &= TARGET_PAGE_MASK; ++ size = TARGET_PAGE_ALIGN(size); ++ ++ if (add) { ++ if (!memory_region_is_rom(section->mr)) { ++ xen_add_to_physmap(state, start_addr, size, ++ section->mr, section->offset_within_region); ++ } else { ++ mem_type = HVMMEM_ram_ro; ++ if (xen_set_mem_type(xen_domid, mem_type, ++ start_addr >> TARGET_PAGE_BITS, ++ size >> TARGET_PAGE_BITS)) { ++ DPRINTF("xen_set_mem_type error, addr: "TARGET_FMT_plx"\n", ++ start_addr); ++ } ++ } ++ } else { ++ if (xen_remove_from_physmap(state, start_addr, size) < 0) { ++ DPRINTF("physmapping does not exist at "TARGET_FMT_plx"\n", start_addr); ++ } ++ } ++} ++ ++void arch_handle_ioreq(XenIOState *state, ioreq_t *req) ++{ ++ switch (req->type) { ++ case IOREQ_TYPE_VMWARE_PORT: ++ handle_vmport_ioreq(state, req); ++ break; ++ default: ++ hw_error("Invalid ioreq type 0x%x\n", req->type); ++ } ++ ++ return; ++} +diff --git a/include/hw/i386/xen_arch_hvm.h b/include/hw/i386/xen_arch_hvm.h +new file mode 100644 +index 0000000000..1b2c71ba4f +--- /dev/null ++++ b/include/hw/i386/xen_arch_hvm.h +@@ -0,0 +1,10 @@ ++#ifndef HW_XEN_ARCH_I386_HVM_H ++#define HW_XEN_ARCH_I386_HVM_H ++ ++#include ++ ++void arch_handle_ioreq(XenIOState *state, ioreq_t *req); ++void arch_xen_set_memory(XenIOState *state, ++ MemoryRegionSection *section, ++ bool add); ++#endif +diff --git a/include/hw/xen/arch_hvm.h b/include/hw/xen/arch_hvm.h +new file mode 100644 +index 0000000000..26674648d8 +--- /dev/null ++++ b/include/hw/xen/arch_hvm.h +@@ -0,0 +1,3 @@ ++#if defined(TARGET_I386) || defined(TARGET_X86_64) ++#include "hw/i386/xen_arch_hvm.h" ++#endif +-- +2.17.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0006-xen-add-map-and-unmap-callbacks-for-grant-region.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0006-xen-add-map-and-unmap-callbacks-for-grant-region.patch new file mode 100644 index 00000000..87bbc3c6 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0006-xen-add-map-and-unmap-callbacks-for-grant-region.patch @@ -0,0 +1,255 @@ +From ef94d70d4a22c5282d6955a7ed066ef502e99829 Mon Sep 17 00:00:00 2001 +From: Juergen Gross +Date: Fri, 26 Aug 2022 13:57:06 +0200 +Subject: [PATCH 6/8] xen: add map and unmap callbacks for grant region + +Add the callbacks for mapping/unmapping guest memory via grants to the +special grant memory region. + +Signed-off-by: Juergen Gross +Signed-off-by: Vikram Garhwal +Signed-off-by: Stefano Stabellini +Acked-by: Stefano Stabellini +--- + hw/xen/xen-mapcache.c | 167 +++++++++++++++++++++++++++++++++++++++++- + softmmu/physmem.c | 11 ++- + 2 files changed, 173 insertions(+), 5 deletions(-) + +diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c +index e53e7221f1..f81b75d216 100644 +--- a/hw/xen/xen-mapcache.c ++++ b/hw/xen/xen-mapcache.c +@@ -9,6 +9,8 @@ + */ + + #include "qemu/osdep.h" ++#include "qemu/queue.h" ++#include "qemu/thread.h" + #include "qemu/units.h" + #include "qemu/error-report.h" + +@@ -24,6 +26,8 @@ + #include "sysemu/xen-mapcache.h" + #include "trace.h" + ++#include ++#include + + //#define MAPCACHE_DEBUG + +@@ -386,7 +390,7 @@ uint8_t *xen_map_cache(hwaddr phys_addr, hwaddr size, + return p; + } + +-ram_addr_t xen_ram_addr_from_mapcache(void *ptr) ++static ram_addr_t xen_ram_addr_from_mapcache_try(void *ptr) + { + MapCacheEntry *entry = NULL; + MapCacheRev *reventry; +@@ -595,10 +599,170 @@ uint8_t *xen_replace_cache_entry(hwaddr old_phys_addr, + return p; + } + ++struct XENMappedGrantRegion { ++ void *addr; ++ unsigned int pages; ++ unsigned int refs; ++ unsigned int prot; ++ uint32_t idx; ++ QLIST_ENTRY(XENMappedGrantRegion) list; ++}; ++ ++static xengnttab_handle *xen_region_gnttabdev; ++static QLIST_HEAD(GrantRegionList, XENMappedGrantRegion) xen_grant_mappings = ++ QLIST_HEAD_INITIALIZER(xen_grant_mappings); ++static QemuMutex xen_map_mutex; ++ ++static void *xen_map_grant_dyn(MemoryRegion **mr, hwaddr addr, hwaddr *plen, ++ bool is_write, MemTxAttrs attrs) ++{ ++ unsigned int page_off = addr & (XC_PAGE_SIZE - 1); ++ unsigned int i; ++ unsigned int nrefs = (page_off + *plen + XC_PAGE_SIZE - 1) >> XC_PAGE_SHIFT; ++ uint32_t ref = (addr - XEN_GRANT_ADDR_OFF) >> XC_PAGE_SHIFT; ++ uint32_t *refs; ++ unsigned int prot = PROT_READ; ++ struct XENMappedGrantRegion *mgr = NULL; ++ ++ if (is_write) { ++ prot |= PROT_WRITE; ++ } ++ ++ qemu_mutex_lock(&xen_map_mutex); ++ ++ QLIST_FOREACH(mgr, &xen_grant_mappings, list) { ++ if (mgr->idx == ref && ++ mgr->pages == nrefs && ++ (mgr->prot & prot) == prot) { ++ break; ++ } ++ } ++ if (!mgr) { ++ mgr = g_new(struct XENMappedGrantRegion, 1); ++ ++ if (nrefs == 1) { ++ refs = &ref; ++ } else { ++ refs = g_new(uint32_t, nrefs); ++ for (i = 0; i < nrefs; i++) { ++ refs[i] = ref + i; ++ } ++ } ++ mgr->addr = xengnttab_map_domain_grant_refs(xen_region_gnttabdev, nrefs, ++ xen_domid, refs, prot); ++ if (mgr->addr) { ++ mgr->pages = nrefs; ++ mgr->refs = 1; ++ mgr->prot = prot; ++ mgr->idx = ref; ++ ++ QLIST_INSERT_HEAD(&xen_grant_mappings, mgr, list); ++ } else { ++ g_free(mgr); ++ mgr = NULL; ++ } ++ } else { ++ mgr->refs++; ++ } ++ ++ qemu_mutex_unlock(&xen_map_mutex); ++ ++ if (nrefs > 1) { ++ g_free(refs); ++ } ++ ++ return mgr ? mgr->addr + page_off : NULL; ++} ++ ++static void xen_unmap_grant_dyn(MemoryRegion *mr, void *buffer, ram_addr_t addr, ++ hwaddr len, bool is_write, hwaddr access_len) ++{ ++ unsigned int page_off = (unsigned long)buffer & (XC_PAGE_SIZE - 1); ++ unsigned int nrefs = (page_off + len + XC_PAGE_SIZE - 1) >> XC_PAGE_SHIFT; ++ unsigned int prot = PROT_READ; ++ struct XENMappedGrantRegion *mgr = NULL; ++ ++ if (is_write) { ++ prot |= PROT_WRITE; ++ } ++ ++ qemu_mutex_lock(&xen_map_mutex); ++ ++ QLIST_FOREACH(mgr, &xen_grant_mappings, list) { ++ if (mgr->addr == buffer - page_off && ++ mgr->pages == nrefs && ++ (mgr->prot & prot) == prot) { ++ break; ++ } ++ } ++ if (mgr) { ++ mgr->refs--; ++ if (!mgr->refs) { ++ xengnttab_unmap(xen_region_gnttabdev, mgr->addr, nrefs); ++ ++ QLIST_REMOVE(mgr, list); ++ g_free(mgr); ++ } ++ } else { ++ error_report("xen_unmap_grant_dyn() trying to unmap unknown buffer"); ++ } ++ ++ qemu_mutex_unlock(&xen_map_mutex); ++} ++ ++static ram_addr_t xen_ram_addr_from_grant_cache(void *ptr) ++{ ++ unsigned int page_off = (unsigned long)ptr & (XC_PAGE_SIZE - 1); ++ struct XENMappedGrantRegion *mgr = NULL; ++ ram_addr_t raddr = RAM_ADDR_INVALID; ++ ++ qemu_mutex_lock(&xen_map_mutex); ++ ++ QLIST_FOREACH(mgr, &xen_grant_mappings, list) { ++ if (mgr->addr == ptr - page_off) { ++ break; ++ } ++ } ++ ++ if (mgr) { ++ raddr = (mgr->idx << XC_PAGE_SHIFT) + page_off + XEN_GRANT_ADDR_OFF; ++ } ++ ++ qemu_mutex_unlock(&xen_map_mutex); ++ ++ return raddr; ++} ++ ++ram_addr_t xen_ram_addr_from_mapcache(void *ptr) ++{ ++ ram_addr_t raddr; ++ ++ raddr = xen_ram_addr_from_mapcache_try(ptr); ++ if (raddr == RAM_ADDR_INVALID) { ++ raddr = xen_ram_addr_from_grant_cache(ptr); ++ } ++ ++ return raddr; ++} ++ ++static const struct MemoryRegionOps xen_grant_mr_ops = { ++ .map = xen_map_grant_dyn, ++ .unmap = xen_unmap_grant_dyn, ++ .endianness = DEVICE_LITTLE_ENDIAN, ++}; ++ + MemoryRegion *xen_init_grant_ram(void) + { + RAMBlock *block; + ++ qemu_mutex_init(&xen_map_mutex); ++ ++ xen_region_gnttabdev = xengnttab_open(NULL, 0); ++ if (xen_region_gnttabdev == NULL) { ++ fprintf(stderr, "can't open gnttab device\n"); ++ return NULL; ++ } ++ + memory_region_init(&ram_grants, NULL, "xen.grants", + XEN_MAX_VIRTIO_GRANTS * XC_PAGE_SIZE); + block = g_malloc0(sizeof(*block)); +@@ -613,6 +777,7 @@ MemoryRegion *xen_init_grant_ram(void) + ram_grants.ram_block = block; + ram_grants.ram = true; + ram_grants.terminates = true; ++ ram_grants.ops = &xen_grant_mr_ops; + ram_block_add_list(block); + memory_region_add_subregion(get_system_memory(), XEN_GRANT_ADDR_OFF, + &ram_grants); +diff --git a/softmmu/physmem.c b/softmmu/physmem.c +index 2038240311..6b2a02fc87 100644 +--- a/softmmu/physmem.c ++++ b/softmmu/physmem.c +@@ -2391,13 +2391,16 @@ RAMBlock *qemu_ram_block_from_host(void *ptr, bool round_offset, + + if (xen_enabled()) { + ram_addr_t ram_addr; ++ + RCU_READ_LOCK_GUARD(); + ram_addr = xen_ram_addr_from_mapcache(ptr); +- block = qemu_get_ram_block(ram_addr); +- if (block) { +- *offset = ram_addr - block->offset; ++ if (ram_addr != RAM_ADDR_INVALID) { ++ block = qemu_get_ram_block(ram_addr); ++ if (block) { ++ *offset = ram_addr - block->offset; ++ } ++ return block; + } +- return block; + } + + RCU_READ_LOCK_GUARD(); +-- +2.25.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0006-xen-hvm-move-common-functions-to-hw-xen-xen-hvm-comm.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0006-xen-hvm-move-common-functions-to-hw-xen-xen-hvm-comm.patch new file mode 100644 index 00000000..7df302a2 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0006-xen-hvm-move-common-functions-to-hw-xen-xen-hvm-comm.patch @@ -0,0 +1,2094 @@ +From 87d362e72e65b604da7554657204344a6540d88c Mon Sep 17 00:00:00 2001 +From: Vikram Garhwal +Date: Fri, 1 Jul 2022 15:59:47 -0700 +Subject: [PATCH 06/16] xen-hvm: move common functions to + hw/xen/xen-hvm-common.c + +Extract common functionalities from xen-hvm.c and move them to +hw/xen/xen-hvm-common.c. These common functions are useful for creating +an IOREQ server. + +Moved the common usable IOREQ creation part to a new function +xen_register_ioreq() which can be used by both x86 and ARM machines. + +NOTE: This patch will break the build as the patch only involves moving +of functions. Build fixes will be in the next patch. + +Signed-off-by: Vikram Garhwal +Signed-off-by: Stefano Stabellini +Reviewed-by: Stefano Stabellini +--- + hw/i386/xen/trace-events | 14 - + hw/i386/xen/xen-hvm.c | 927 +------------------------------- + hw/xen/meson.build | 5 +- + hw/xen/trace-events | 14 + + hw/xen/xen-hvm-common.c | 861 +++++++++++++++++++++++++++++ + include/hw/i386/xen_arch_hvm.h | 1 + + include/hw/xen/xen-hvm-common.h | 98 ++++ + 7 files changed, 986 insertions(+), 934 deletions(-) + create mode 100644 hw/xen/xen-hvm-common.c + create mode 100644 include/hw/xen/xen-hvm-common.h + +diff --git a/hw/i386/xen/trace-events b/hw/i386/xen/trace-events +index a0c89d91c4..5d0a8d6dcf 100644 +--- a/hw/i386/xen/trace-events ++++ b/hw/i386/xen/trace-events +@@ -7,17 +7,3 @@ xen_platform_log(char *s) "xen platform: %s" + xen_pv_mmio_read(uint64_t addr) "WARNING: read from Xen PV Device MMIO space (address 0x%"PRIx64")" + xen_pv_mmio_write(uint64_t addr) "WARNING: write to Xen PV Device MMIO space (address 0x%"PRIx64")" + +-# xen-hvm.c +-xen_ram_alloc(unsigned long ram_addr, unsigned long size) "requested: 0x%lx, size 0x%lx" +-xen_client_set_memory(uint64_t start_addr, unsigned long size, bool log_dirty) "0x%"PRIx64" size 0x%lx, log_dirty %i" +-handle_ioreq(void *req, uint32_t type, uint32_t dir, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p type=%d dir=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d" +-handle_ioreq_read(void *req, uint32_t type, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p read type=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d" +-handle_ioreq_write(void *req, uint32_t type, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p write type=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d" +-cpu_ioreq_pio(void *req, uint32_t dir, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p pio dir=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d" +-cpu_ioreq_pio_read_reg(void *req, uint64_t data, uint64_t addr, uint32_t size) "I/O=%p pio read reg data=0x%"PRIx64" port=0x%"PRIx64" size=%d" +-cpu_ioreq_pio_write_reg(void *req, uint64_t data, uint64_t addr, uint32_t size) "I/O=%p pio write reg data=0x%"PRIx64" port=0x%"PRIx64" size=%d" +-cpu_ioreq_move(void *req, uint32_t dir, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p copy dir=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d" +-xen_map_resource_ioreq(uint32_t id, void *addr) "id: %u addr: %p" +-cpu_ioreq_config_read(void *req, uint32_t sbdf, uint32_t reg, uint32_t size, uint32_t data) "I/O=%p sbdf=0x%x reg=%u size=%u data=0x%x" +-cpu_ioreq_config_write(void *req, uint32_t sbdf, uint32_t reg, uint32_t size, uint32_t data) "I/O=%p sbdf=0x%x reg=%u size=%u data=0x%x" +- +diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c +index 178f0c68fc..36d87555a9 100644 +--- a/hw/i386/xen/xen-hvm.c ++++ b/hw/i386/xen/xen-hvm.c +@@ -10,43 +10,21 @@ + + #include "qemu/osdep.h" + #include "qemu/units.h" ++#include "qapi/error.h" ++#include "qapi/qapi-commands-migration.h" ++#include "trace.h" + +-#include "cpu.h" +-#include "hw/pci/pci.h" +-#include "hw/pci/pci_host.h" + #include "hw/i386/pc.h" + #include "hw/irq.h" +-#include "hw/hw.h" + #include "hw/i386/apic-msidef.h" +-#include "hw/xen/xen_common.h" +-#include "hw/xen/xen-legacy-backend.h" +-#include "hw/xen/xen-bus.h" + #include "hw/xen/xen-x86.h" +-#include "qapi/error.h" +-#include "qapi/qapi-commands-migration.h" +-#include "qemu/error-report.h" +-#include "qemu/main-loop.h" + #include "qemu/range.h" +-#include "sysemu/runstate.h" +-#include "sysemu/sysemu.h" +-#include "sysemu/xen.h" +-#include "sysemu/xen-mapcache.h" +-#include "trace.h" + +-#include ++#include "hw/xen/xen-hvm-common.h" ++#include "hw/xen/arch_hvm.h" + #include + +-//#define DEBUG_XEN_HVM +- +-#ifdef DEBUG_XEN_HVM +-#define DPRINTF(fmt, ...) \ +- do { fprintf(stderr, "xen: " fmt, ## __VA_ARGS__); } while (0) +-#else +-#define DPRINTF(fmt, ...) \ +- do { } while (0) +-#endif +- +-static MemoryRegion ram_memory, ram_640k, ram_lo, ram_hi; ++static MemoryRegion ram_640k, ram_lo, ram_hi; + static MemoryRegion *framebuffer; + static bool xen_in_migration; + +@@ -75,25 +53,6 @@ typedef struct shared_vmport_iopage shared_vmport_iopage_t; + #endif + static shared_vmport_iopage_t *shared_vmport_page; + +-static inline uint32_t xen_vcpu_eport(shared_iopage_t *shared_page, int i) +-{ +- return shared_page->vcpu_ioreq[i].vp_eport; +-} +-static inline ioreq_t *xen_vcpu_ioreq(shared_iopage_t *shared_page, int vcpu) +-{ +- return &shared_page->vcpu_ioreq[vcpu]; +-} +- +-#define BUFFER_IO_MAX_DELAY 100 +- +-typedef struct XenPhysmap { +- hwaddr start_addr; +- ram_addr_t size; +- const char *name; +- hwaddr phys_offset; +- +- QLIST_ENTRY(XenPhysmap) list; +-} XenPhysmap; + + static QLIST_HEAD(, XenPhysmap) xen_physmap; + static const XenPhysmap *log_for_dirtybit = NULL; +@@ -102,40 +61,6 @@ static unsigned long *dirty_bitmap = NULL; + static Notifier suspend; + static Notifier wakeup; + +-typedef struct XenPciDevice { +- PCIDevice *pci_dev; +- uint32_t sbdf; +- QLIST_ENTRY(XenPciDevice) entry; +-} XenPciDevice; +- +-typedef struct XenIOState { +- ioservid_t ioservid; +- shared_iopage_t *shared_page; +- buffered_iopage_t *buffered_io_page; +- xenforeignmemory_resource_handle *fres; +- QEMUTimer *buffered_io_timer; +- CPUState **cpu_by_vcpu_id; +- /* the evtchn port for polling the notification, */ +- evtchn_port_t *ioreq_local_port; +- /* evtchn remote and local ports for buffered io */ +- evtchn_port_t bufioreq_remote_port; +- evtchn_port_t bufioreq_local_port; +- /* the evtchn fd for polling */ +- xenevtchn_handle *xce_handle; +- /* which vcpu we are serving */ +- int send_vcpu; +- +- struct xs_handle *xenstore; +- MemoryListener memory_listener; +- MemoryListener io_listener; +- QLIST_HEAD(, XenPciDevice) dev_list; +- DeviceListener device_listener; +- +- Notifier exit; +-} XenIOState; +- +-#include "hw/xen/arch_hvm.h" +- + /* Xen specific function for piix pci */ + + int xen_pci_slot_get_pirq(PCIDevice *pci_dev, int irq_num) +@@ -248,42 +173,6 @@ static void xen_ram_init(PCMachineState *pcms, + } + } + +-void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr, +- Error **errp) +-{ +- unsigned long nr_pfn; +- xen_pfn_t *pfn_list; +- int i; +- +- if (runstate_check(RUN_STATE_INMIGRATE)) { +- /* RAM already populated in Xen */ +- fprintf(stderr, "%s: do not alloc "RAM_ADDR_FMT +- " bytes of ram at "RAM_ADDR_FMT" when runstate is INMIGRATE\n", +- __func__, size, ram_addr); +- return; +- } +- +- if (mr == &ram_memory) { +- return; +- } +- +- trace_xen_ram_alloc(ram_addr, size); +- +- nr_pfn = size >> TARGET_PAGE_BITS; +- pfn_list = g_malloc(sizeof (*pfn_list) * nr_pfn); +- +- for (i = 0; i < nr_pfn; i++) { +- pfn_list[i] = (ram_addr >> TARGET_PAGE_BITS) + i; +- } +- +- if (xc_domain_populate_physmap_exact(xen_xc, xen_domid, nr_pfn, 0, 0, pfn_list)) { +- error_setg(errp, "xen: failed to populate ram at " RAM_ADDR_FMT, +- ram_addr); +- } +- +- g_free(pfn_list); +-} +- + static XenPhysmap *get_physmapping(hwaddr start_addr, ram_addr_t size) + { + XenPhysmap *physmap = NULL; +@@ -473,109 +362,6 @@ static int xen_remove_from_physmap(XenIOState *state, + return 0; + } + +-static void xen_set_memory(struct MemoryListener *listener, +- MemoryRegionSection *section, +- bool add) +-{ +- XenIOState *state = container_of(listener, XenIOState, memory_listener); +- +- if (section->mr == &ram_memory) { +- return; +- } else { +- if (add) { +- xen_map_memory_section(xen_domid, state->ioservid, +- section); +- } else { +- xen_unmap_memory_section(xen_domid, state->ioservid, +- section); +- } +- } +- arch_xen_set_memory(state, section, add); +-} +- +-static void xen_region_add(MemoryListener *listener, +- MemoryRegionSection *section) +-{ +- memory_region_ref(section->mr); +- xen_set_memory(listener, section, true); +-} +- +-static void xen_region_del(MemoryListener *listener, +- MemoryRegionSection *section) +-{ +- xen_set_memory(listener, section, false); +- memory_region_unref(section->mr); +-} +- +-static void xen_io_add(MemoryListener *listener, +- MemoryRegionSection *section) +-{ +- XenIOState *state = container_of(listener, XenIOState, io_listener); +- MemoryRegion *mr = section->mr; +- +- if (mr->ops == &unassigned_io_ops) { +- return; +- } +- +- memory_region_ref(mr); +- +- xen_map_io_section(xen_domid, state->ioservid, section); +-} +- +-static void xen_io_del(MemoryListener *listener, +- MemoryRegionSection *section) +-{ +- XenIOState *state = container_of(listener, XenIOState, io_listener); +- MemoryRegion *mr = section->mr; +- +- if (mr->ops == &unassigned_io_ops) { +- return; +- } +- +- xen_unmap_io_section(xen_domid, state->ioservid, section); +- +- memory_region_unref(mr); +-} +- +-static void xen_device_realize(DeviceListener *listener, +- DeviceState *dev) +-{ +- XenIOState *state = container_of(listener, XenIOState, device_listener); +- +- if (object_dynamic_cast(OBJECT(dev), TYPE_PCI_DEVICE)) { +- PCIDevice *pci_dev = PCI_DEVICE(dev); +- XenPciDevice *xendev = g_new(XenPciDevice, 1); +- +- xendev->pci_dev = pci_dev; +- xendev->sbdf = PCI_BUILD_BDF(pci_dev_bus_num(pci_dev), +- pci_dev->devfn); +- QLIST_INSERT_HEAD(&state->dev_list, xendev, entry); +- +- xen_map_pcidev(xen_domid, state->ioservid, pci_dev); +- } +-} +- +-static void xen_device_unrealize(DeviceListener *listener, +- DeviceState *dev) +-{ +- XenIOState *state = container_of(listener, XenIOState, device_listener); +- +- if (object_dynamic_cast(OBJECT(dev), TYPE_PCI_DEVICE)) { +- PCIDevice *pci_dev = PCI_DEVICE(dev); +- XenPciDevice *xendev, *next; +- +- xen_unmap_pcidev(xen_domid, state->ioservid, pci_dev); +- +- QLIST_FOREACH_SAFE(xendev, &state->dev_list, entry, next) { +- if (xendev->pci_dev == pci_dev) { +- QLIST_REMOVE(xendev, entry); +- g_free(xendev); +- break; +- } +- } +- } +-} +- + static void xen_sync_dirty_bitmap(XenIOState *state, + hwaddr start_addr, + ram_addr_t size) +@@ -683,277 +469,6 @@ static MemoryListener xen_memory_listener = { + .priority = 10, + }; + +-static MemoryListener xen_io_listener = { +- .name = "xen-io", +- .region_add = xen_io_add, +- .region_del = xen_io_del, +- .priority = 10, +-}; +- +-static DeviceListener xen_device_listener = { +- .realize = xen_device_realize, +- .unrealize = xen_device_unrealize, +-}; +- +-/* get the ioreq packets from share mem */ +-static ioreq_t *cpu_get_ioreq_from_shared_memory(XenIOState *state, int vcpu) +-{ +- ioreq_t *req = xen_vcpu_ioreq(state->shared_page, vcpu); +- +- if (req->state != STATE_IOREQ_READY) { +- DPRINTF("I/O request not ready: " +- "%x, ptr: %x, port: %"PRIx64", " +- "data: %"PRIx64", count: %u, size: %u\n", +- req->state, req->data_is_ptr, req->addr, +- req->data, req->count, req->size); +- return NULL; +- } +- +- xen_rmb(); /* see IOREQ_READY /then/ read contents of ioreq */ +- +- req->state = STATE_IOREQ_INPROCESS; +- return req; +-} +- +-/* use poll to get the port notification */ +-/* ioreq_vec--out,the */ +-/* retval--the number of ioreq packet */ +-static ioreq_t *cpu_get_ioreq(XenIOState *state) +-{ +- MachineState *ms = MACHINE(qdev_get_machine()); +- unsigned int max_cpus = ms->smp.max_cpus; +- int i; +- evtchn_port_t port; +- +- port = xenevtchn_pending(state->xce_handle); +- if (port == state->bufioreq_local_port) { +- timer_mod(state->buffered_io_timer, +- BUFFER_IO_MAX_DELAY + qemu_clock_get_ms(QEMU_CLOCK_REALTIME)); +- return NULL; +- } +- +- if (port != -1) { +- for (i = 0; i < max_cpus; i++) { +- if (state->ioreq_local_port[i] == port) { +- break; +- } +- } +- +- if (i == max_cpus) { +- hw_error("Fatal error while trying to get io event!\n"); +- } +- +- /* unmask the wanted port again */ +- xenevtchn_unmask(state->xce_handle, port); +- +- /* get the io packet from shared memory */ +- state->send_vcpu = i; +- return cpu_get_ioreq_from_shared_memory(state, i); +- } +- +- /* read error or read nothing */ +- return NULL; +-} +- +-static uint32_t do_inp(uint32_t addr, unsigned long size) +-{ +- switch (size) { +- case 1: +- return cpu_inb(addr); +- case 2: +- return cpu_inw(addr); +- case 4: +- return cpu_inl(addr); +- default: +- hw_error("inp: bad size: %04x %lx", addr, size); +- } +-} +- +-static void do_outp(uint32_t addr, +- unsigned long size, uint32_t val) +-{ +- switch (size) { +- case 1: +- return cpu_outb(addr, val); +- case 2: +- return cpu_outw(addr, val); +- case 4: +- return cpu_outl(addr, val); +- default: +- hw_error("outp: bad size: %04x %lx", addr, size); +- } +-} +- +-/* +- * Helper functions which read/write an object from/to physical guest +- * memory, as part of the implementation of an ioreq. +- * +- * Equivalent to +- * cpu_physical_memory_rw(addr + (req->df ? -1 : +1) * req->size * i, +- * val, req->size, 0/1) +- * except without the integer overflow problems. +- */ +-static void rw_phys_req_item(hwaddr addr, +- ioreq_t *req, uint32_t i, void *val, int rw) +-{ +- /* Do everything unsigned so overflow just results in a truncated result +- * and accesses to undesired parts of guest memory, which is up +- * to the guest */ +- hwaddr offset = (hwaddr)req->size * i; +- if (req->df) { +- addr -= offset; +- } else { +- addr += offset; +- } +- cpu_physical_memory_rw(addr, val, req->size, rw); +-} +- +-static inline void read_phys_req_item(hwaddr addr, +- ioreq_t *req, uint32_t i, void *val) +-{ +- rw_phys_req_item(addr, req, i, val, 0); +-} +-static inline void write_phys_req_item(hwaddr addr, +- ioreq_t *req, uint32_t i, void *val) +-{ +- rw_phys_req_item(addr, req, i, val, 1); +-} +- +- +-static void cpu_ioreq_pio(ioreq_t *req) +-{ +- uint32_t i; +- +- trace_cpu_ioreq_pio(req, req->dir, req->df, req->data_is_ptr, req->addr, +- req->data, req->count, req->size); +- +- if (req->size > sizeof(uint32_t)) { +- hw_error("PIO: bad size (%u)", req->size); +- } +- +- if (req->dir == IOREQ_READ) { +- if (!req->data_is_ptr) { +- req->data = do_inp(req->addr, req->size); +- trace_cpu_ioreq_pio_read_reg(req, req->data, req->addr, +- req->size); +- } else { +- uint32_t tmp; +- +- for (i = 0; i < req->count; i++) { +- tmp = do_inp(req->addr, req->size); +- write_phys_req_item(req->data, req, i, &tmp); +- } +- } +- } else if (req->dir == IOREQ_WRITE) { +- if (!req->data_is_ptr) { +- trace_cpu_ioreq_pio_write_reg(req, req->data, req->addr, +- req->size); +- do_outp(req->addr, req->size, req->data); +- } else { +- for (i = 0; i < req->count; i++) { +- uint32_t tmp = 0; +- +- read_phys_req_item(req->data, req, i, &tmp); +- do_outp(req->addr, req->size, tmp); +- } +- } +- } +-} +- +-static void cpu_ioreq_move(ioreq_t *req) +-{ +- uint32_t i; +- +- trace_cpu_ioreq_move(req, req->dir, req->df, req->data_is_ptr, req->addr, +- req->data, req->count, req->size); +- +- if (req->size > sizeof(req->data)) { +- hw_error("MMIO: bad size (%u)", req->size); +- } +- +- if (!req->data_is_ptr) { +- if (req->dir == IOREQ_READ) { +- for (i = 0; i < req->count; i++) { +- read_phys_req_item(req->addr, req, i, &req->data); +- } +- } else if (req->dir == IOREQ_WRITE) { +- for (i = 0; i < req->count; i++) { +- write_phys_req_item(req->addr, req, i, &req->data); +- } +- } +- } else { +- uint64_t tmp; +- +- if (req->dir == IOREQ_READ) { +- for (i = 0; i < req->count; i++) { +- read_phys_req_item(req->addr, req, i, &tmp); +- write_phys_req_item(req->data, req, i, &tmp); +- } +- } else if (req->dir == IOREQ_WRITE) { +- for (i = 0; i < req->count; i++) { +- read_phys_req_item(req->data, req, i, &tmp); +- write_phys_req_item(req->addr, req, i, &tmp); +- } +- } +- } +-} +- +-static void cpu_ioreq_config(XenIOState *state, ioreq_t *req) +-{ +- uint32_t sbdf = req->addr >> 32; +- uint32_t reg = req->addr; +- XenPciDevice *xendev; +- +- if (req->size != sizeof(uint8_t) && req->size != sizeof(uint16_t) && +- req->size != sizeof(uint32_t)) { +- hw_error("PCI config access: bad size (%u)", req->size); +- } +- +- if (req->count != 1) { +- hw_error("PCI config access: bad count (%u)", req->count); +- } +- +- QLIST_FOREACH(xendev, &state->dev_list, entry) { +- if (xendev->sbdf != sbdf) { +- continue; +- } +- +- if (!req->data_is_ptr) { +- if (req->dir == IOREQ_READ) { +- req->data = pci_host_config_read_common( +- xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE, +- req->size); +- trace_cpu_ioreq_config_read(req, xendev->sbdf, reg, +- req->size, req->data); +- } else if (req->dir == IOREQ_WRITE) { +- trace_cpu_ioreq_config_write(req, xendev->sbdf, reg, +- req->size, req->data); +- pci_host_config_write_common( +- xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE, +- req->data, req->size); +- } +- } else { +- uint32_t tmp; +- +- if (req->dir == IOREQ_READ) { +- tmp = pci_host_config_read_common( +- xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE, +- req->size); +- trace_cpu_ioreq_config_read(req, xendev->sbdf, reg, +- req->size, tmp); +- write_phys_req_item(req->data, req, 0, &tmp); +- } else if (req->dir == IOREQ_WRITE) { +- read_phys_req_item(req->data, req, 0, &tmp); +- trace_cpu_ioreq_config_write(req, xendev->sbdf, reg, +- req->size, tmp); +- pci_host_config_write_common( +- xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE, +- tmp, req->size); +- } +- } +- } +-} +- + static void regs_to_cpu(vmware_regs_t *vmport_regs, ioreq_t *req) + { + X86CPU *cpu; +@@ -997,223 +512,6 @@ static void handle_vmport_ioreq(XenIOState *state, ioreq_t *req) + current_cpu = NULL; + } + +-static void handle_ioreq(XenIOState *state, ioreq_t *req) +-{ +- trace_handle_ioreq(req, req->type, req->dir, req->df, req->data_is_ptr, +- req->addr, req->data, req->count, req->size); +- +- if (!req->data_is_ptr && (req->dir == IOREQ_WRITE) && +- (req->size < sizeof (target_ulong))) { +- req->data &= ((target_ulong) 1 << (8 * req->size)) - 1; +- } +- +- if (req->dir == IOREQ_WRITE) +- trace_handle_ioreq_write(req, req->type, req->df, req->data_is_ptr, +- req->addr, req->data, req->count, req->size); +- +- switch (req->type) { +- case IOREQ_TYPE_PIO: +- cpu_ioreq_pio(req); +- break; +- case IOREQ_TYPE_COPY: +- cpu_ioreq_move(req); +- break; +- case IOREQ_TYPE_TIMEOFFSET: +- break; +- case IOREQ_TYPE_INVALIDATE: +- xen_invalidate_map_cache(); +- break; +- case IOREQ_TYPE_PCI_CONFIG: +- cpu_ioreq_config(state, req); +- break; +- default: +- arch_handle_ioreq(state, req); +- } +- if (req->dir == IOREQ_READ) { +- trace_handle_ioreq_read(req, req->type, req->df, req->data_is_ptr, +- req->addr, req->data, req->count, req->size); +- } +-} +- +-static bool handle_buffered_iopage(XenIOState *state) +-{ +- buffered_iopage_t *buf_page = state->buffered_io_page; +- buf_ioreq_t *buf_req = NULL; +- bool handled_ioreq = false; +- ioreq_t req; +- int qw; +- +- if (!buf_page) { +- return 0; +- } +- +- memset(&req, 0x00, sizeof(req)); +- req.state = STATE_IOREQ_READY; +- req.count = 1; +- req.dir = IOREQ_WRITE; +- +- for (;;) { +- uint32_t rdptr = buf_page->read_pointer, wrptr; +- +- xen_rmb(); +- wrptr = buf_page->write_pointer; +- xen_rmb(); +- if (rdptr != buf_page->read_pointer) { +- continue; +- } +- if (rdptr == wrptr) { +- break; +- } +- buf_req = &buf_page->buf_ioreq[rdptr % IOREQ_BUFFER_SLOT_NUM]; +- req.size = 1U << buf_req->size; +- req.addr = buf_req->addr; +- req.data = buf_req->data; +- req.type = buf_req->type; +- xen_rmb(); +- qw = (req.size == 8); +- if (qw) { +- if (rdptr + 1 == wrptr) { +- hw_error("Incomplete quad word buffered ioreq"); +- } +- buf_req = &buf_page->buf_ioreq[(rdptr + 1) % +- IOREQ_BUFFER_SLOT_NUM]; +- req.data |= ((uint64_t)buf_req->data) << 32; +- xen_rmb(); +- } +- +- handle_ioreq(state, &req); +- +- /* Only req.data may get updated by handle_ioreq(), albeit even that +- * should not happen as such data would never make it to the guest (we +- * can only usefully see writes here after all). +- */ +- assert(req.state == STATE_IOREQ_READY); +- assert(req.count == 1); +- assert(req.dir == IOREQ_WRITE); +- assert(!req.data_is_ptr); +- +- qatomic_add(&buf_page->read_pointer, qw + 1); +- handled_ioreq = true; +- } +- +- return handled_ioreq; +-} +- +-static void handle_buffered_io(void *opaque) +-{ +- XenIOState *state = opaque; +- +- if (handle_buffered_iopage(state)) { +- timer_mod(state->buffered_io_timer, +- BUFFER_IO_MAX_DELAY + qemu_clock_get_ms(QEMU_CLOCK_REALTIME)); +- } else { +- timer_del(state->buffered_io_timer); +- xenevtchn_unmask(state->xce_handle, state->bufioreq_local_port); +- } +-} +- +-static void cpu_handle_ioreq(void *opaque) +-{ +- XenIOState *state = opaque; +- ioreq_t *req = cpu_get_ioreq(state); +- +- handle_buffered_iopage(state); +- if (req) { +- ioreq_t copy = *req; +- +- xen_rmb(); +- handle_ioreq(state, ©); +- req->data = copy.data; +- +- if (req->state != STATE_IOREQ_INPROCESS) { +- fprintf(stderr, "Badness in I/O request ... not in service?!: " +- "%x, ptr: %x, port: %"PRIx64", " +- "data: %"PRIx64", count: %u, size: %u, type: %u\n", +- req->state, req->data_is_ptr, req->addr, +- req->data, req->count, req->size, req->type); +- destroy_hvm_domain(false); +- return; +- } +- +- xen_wmb(); /* Update ioreq contents /then/ update state. */ +- +- /* +- * We do this before we send the response so that the tools +- * have the opportunity to pick up on the reset before the +- * guest resumes and does a hlt with interrupts disabled which +- * causes Xen to powerdown the domain. +- */ +- if (runstate_is_running()) { +- ShutdownCause request; +- +- if (qemu_shutdown_requested_get()) { +- destroy_hvm_domain(false); +- } +- request = qemu_reset_requested_get(); +- if (request) { +- qemu_system_reset(request); +- destroy_hvm_domain(true); +- } +- } +- +- req->state = STATE_IORESP_READY; +- xenevtchn_notify(state->xce_handle, +- state->ioreq_local_port[state->send_vcpu]); +- } +-} +- +-static void xen_main_loop_prepare(XenIOState *state) +-{ +- int evtchn_fd = -1; +- +- if (state->xce_handle != NULL) { +- evtchn_fd = xenevtchn_fd(state->xce_handle); +- } +- +- state->buffered_io_timer = timer_new_ms(QEMU_CLOCK_REALTIME, handle_buffered_io, +- state); +- +- if (evtchn_fd != -1) { +- CPUState *cpu_state; +- +- DPRINTF("%s: Init cpu_by_vcpu_id\n", __func__); +- CPU_FOREACH(cpu_state) { +- DPRINTF("%s: cpu_by_vcpu_id[%d]=%p\n", +- __func__, cpu_state->cpu_index, cpu_state); +- state->cpu_by_vcpu_id[cpu_state->cpu_index] = cpu_state; +- } +- qemu_set_fd_handler(evtchn_fd, cpu_handle_ioreq, NULL, state); +- } +-} +- +- +-static void xen_hvm_change_state_handler(void *opaque, bool running, +- RunState rstate) +-{ +- XenIOState *state = opaque; +- +- if (running) { +- xen_main_loop_prepare(state); +- } +- +- xen_set_ioreq_server_state(xen_domid, +- state->ioservid, +- (rstate == RUN_STATE_RUNNING)); +-} +- +-static void xen_exit_notifier(Notifier *n, void *data) +-{ +- XenIOState *state = container_of(n, XenIOState, exit); +- +- xen_destroy_ioreq_server(xen_domid, state->ioservid); +- if (state->fres != NULL) { +- xenforeignmemory_unmap_resource(xen_fmem, state->fres); +- } +- +- xenevtchn_close(state->xce_handle); +- xs_daemon_close(state->xenstore); +-} +- + #ifdef XEN_COMPAT_PHYSMAP + static void xen_read_physmap(XenIOState *state) + { +@@ -1273,178 +571,17 @@ static void xen_wakeup_notifier(Notifier *notifier, void *data) + xc_set_hvm_param(xen_xc, xen_domid, HVM_PARAM_ACPI_S_STATE, 0); + } + +-static int xen_map_ioreq_server(XenIOState *state) +-{ +- void *addr = NULL; +- xen_pfn_t ioreq_pfn; +- xen_pfn_t bufioreq_pfn; +- evtchn_port_t bufioreq_evtchn; +- int rc; +- +- /* +- * Attempt to map using the resource API and fall back to normal +- * foreign mapping if this is not supported. +- */ +- QEMU_BUILD_BUG_ON(XENMEM_resource_ioreq_server_frame_bufioreq != 0); +- QEMU_BUILD_BUG_ON(XENMEM_resource_ioreq_server_frame_ioreq(0) != 1); +- state->fres = xenforeignmemory_map_resource(xen_fmem, xen_domid, +- XENMEM_resource_ioreq_server, +- state->ioservid, 0, 2, +- &addr, +- PROT_READ | PROT_WRITE, 0); +- if (state->fres != NULL) { +- trace_xen_map_resource_ioreq(state->ioservid, addr); +- state->buffered_io_page = addr; +- state->shared_page = addr + TARGET_PAGE_SIZE; +- } else if (errno != EOPNOTSUPP) { +- error_report("failed to map ioreq server resources: error %d handle=%p", +- errno, xen_xc); +- return -1; +- } +- +- rc = xen_get_ioreq_server_info(xen_domid, state->ioservid, +- (state->shared_page == NULL) ? +- &ioreq_pfn : NULL, +- (state->buffered_io_page == NULL) ? +- &bufioreq_pfn : NULL, +- &bufioreq_evtchn); +- if (rc < 0) { +- error_report("failed to get ioreq server info: error %d handle=%p", +- errno, xen_xc); +- return rc; +- } +- +- if (state->shared_page == NULL) { +- DPRINTF("shared page at pfn %lx\n", ioreq_pfn); +- +- state->shared_page = xenforeignmemory_map(xen_fmem, xen_domid, +- PROT_READ | PROT_WRITE, +- 1, &ioreq_pfn, NULL); +- if (state->shared_page == NULL) { +- error_report("map shared IO page returned error %d handle=%p", +- errno, xen_xc); +- } +- } +- +- if (state->buffered_io_page == NULL) { +- DPRINTF("buffered io page at pfn %lx\n", bufioreq_pfn); +- +- state->buffered_io_page = xenforeignmemory_map(xen_fmem, xen_domid, +- PROT_READ | PROT_WRITE, +- 1, &bufioreq_pfn, +- NULL); +- if (state->buffered_io_page == NULL) { +- error_report("map buffered IO page returned error %d", errno); +- return -1; +- } +- } +- +- if (state->shared_page == NULL || state->buffered_io_page == NULL) { +- return -1; +- } +- +- DPRINTF("buffered io evtchn is %x\n", bufioreq_evtchn); +- +- state->bufioreq_remote_port = bufioreq_evtchn; +- +- return 0; +-} +- + void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory) + { + MachineState *ms = MACHINE(pcms); + unsigned int max_cpus = ms->smp.max_cpus; +- int i, rc; ++ int rc; + xen_pfn_t ioreq_pfn; + XenIOState *state; + + state = g_new0(XenIOState, 1); + +- state->xce_handle = xenevtchn_open(NULL, 0); +- if (state->xce_handle == NULL) { +- perror("xen: event channel open"); +- goto err; +- } +- +- state->xenstore = xs_daemon_open(); +- if (state->xenstore == NULL) { +- perror("xen: xenstore open"); +- goto err; +- } +- +- xen_create_ioreq_server(xen_domid, &state->ioservid); +- +- state->exit.notify = xen_exit_notifier; +- qemu_add_exit_notifier(&state->exit); +- +- /* +- * Register wake-up support in QMP query-current-machine API +- */ +- qemu_register_wakeup_support(); +- +- rc = xen_map_ioreq_server(state); +- if (rc < 0) { +- goto err; +- } +- +- /* Note: cpus is empty at this point in init */ +- state->cpu_by_vcpu_id = g_new0(CPUState *, max_cpus); +- +- rc = xen_set_ioreq_server_state(xen_domid, state->ioservid, true); +- if (rc < 0) { +- error_report("failed to enable ioreq server info: error %d handle=%p", +- errno, xen_xc); +- goto err; +- } +- +- state->ioreq_local_port = g_new0(evtchn_port_t, max_cpus); +- +- /* FIXME: how about if we overflow the page here? */ +- for (i = 0; i < max_cpus; i++) { +- rc = xenevtchn_bind_interdomain(state->xce_handle, xen_domid, +- xen_vcpu_eport(state->shared_page, i)); +- if (rc == -1) { +- error_report("shared evtchn %d bind error %d", i, errno); +- goto err; +- } +- state->ioreq_local_port[i] = rc; +- } +- +- rc = xenevtchn_bind_interdomain(state->xce_handle, xen_domid, +- state->bufioreq_remote_port); +- if (rc == -1) { +- error_report("buffered evtchn bind error %d", errno); +- goto err; +- } +- state->bufioreq_local_port = rc; +- +- /* Init RAM management */ +-#ifdef XEN_COMPAT_PHYSMAP +- xen_map_cache_init(xen_phys_offset_to_gaddr, state); +-#else +- xen_map_cache_init(NULL, state); +-#endif +- +- qemu_add_vm_change_state_handler(xen_hvm_change_state_handler, state); +- +- state->memory_listener = xen_memory_listener; +- memory_listener_register(&state->memory_listener, &address_space_memory); +- +- state->io_listener = xen_io_listener; +- memory_listener_register(&state->io_listener, &address_space_io); +- +- state->device_listener = xen_device_listener; +- QLIST_INIT(&state->dev_list); +- device_listener_register(&state->device_listener); +- +- xen_bus_init(); +- +- /* Initialize backend core & drivers */ +- if (xen_be_init() != 0) { +- error_report("xen backend core setup failed"); +- goto err; +- } +- xen_be_register_common(); ++ xen_register_ioreq(state, max_cpus, xen_memory_listener); + + QLIST_INIT(&xen_physmap); + xen_read_physmap(state); +@@ -1484,59 +621,11 @@ err: + exit(1); + } + +-void destroy_hvm_domain(bool reboot) +-{ +- xc_interface *xc_handle; +- int sts; +- int rc; +- +- unsigned int reason = reboot ? SHUTDOWN_reboot : SHUTDOWN_poweroff; +- +- if (xen_dmod) { +- rc = xendevicemodel_shutdown(xen_dmod, xen_domid, reason); +- if (!rc) { +- return; +- } +- if (errno != ENOTTY /* old Xen */) { +- perror("xendevicemodel_shutdown failed"); +- } +- /* well, try the old thing then */ +- } +- +- xc_handle = xc_interface_open(0, 0, 0); +- if (xc_handle == NULL) { +- fprintf(stderr, "Cannot acquire xenctrl handle\n"); +- } else { +- sts = xc_domain_shutdown(xc_handle, xen_domid, reason); +- if (sts != 0) { +- fprintf(stderr, "xc_domain_shutdown failed to issue %s, " +- "sts %d, %s\n", reboot ? "reboot" : "poweroff", +- sts, strerror(errno)); +- } else { +- fprintf(stderr, "Issued domain %d %s\n", xen_domid, +- reboot ? "reboot" : "poweroff"); +- } +- xc_interface_close(xc_handle); +- } +-} +- + void xen_register_framebuffer(MemoryRegion *mr) + { + framebuffer = mr; + } + +-void xen_shutdown_fatal_error(const char *fmt, ...) +-{ +- va_list ap; +- +- va_start(ap, fmt); +- vfprintf(stderr, fmt, ap); +- va_end(ap); +- fprintf(stderr, "Will destroy the domain.\n"); +- /* destroy the domain */ +- qemu_system_shutdown_request(SHUTDOWN_CAUSE_HOST_ERROR); +-} +- + void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length) + { + if (unlikely(xen_in_migration)) { +diff --git a/hw/xen/meson.build b/hw/xen/meson.build +index 19d0637c46..008e036d63 100644 +--- a/hw/xen/meson.build ++++ b/hw/xen/meson.build +@@ -25,4 +25,7 @@ specific_ss.add_all(when: ['CONFIG_XEN', xen], if_true: xen_specific_ss) + + xen_ss = ss.source_set() + +-xen_ss.add(when: 'CONFIG_XEN', if_true: files('xen-mapcache.c')) ++xen_ss.add(when: 'CONFIG_XEN', if_true: files( ++ 'xen-mapcache.c', ++ 'xen-hvm-common.c', ++)) +diff --git a/hw/xen/trace-events b/hw/xen/trace-events +index 2c8f238f42..02ca1183da 100644 +--- a/hw/xen/trace-events ++++ b/hw/xen/trace-events +@@ -42,6 +42,20 @@ xs_node_vscanf(char *path, char *value) "%s %s" + xs_node_watch(char *path) "%s" + xs_node_unwatch(char *path) "%s" + ++# xen-hvm.c ++xen_ram_alloc(unsigned long ram_addr, unsigned long size) "requested: 0x%lx, size 0x%lx" ++xen_client_set_memory(uint64_t start_addr, unsigned long size, bool log_dirty) "0x%"PRIx64" size 0x%lx, log_dirty %i" ++handle_ioreq(void *req, uint32_t type, uint32_t dir, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p type=%d dir=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d" ++handle_ioreq_read(void *req, uint32_t type, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p read type=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d" ++handle_ioreq_write(void *req, uint32_t type, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p write type=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d" ++cpu_ioreq_pio(void *req, uint32_t dir, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p pio dir=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d" ++cpu_ioreq_pio_read_reg(void *req, uint64_t data, uint64_t addr, uint32_t size) "I/O=%p pio read reg data=0x%"PRIx64" port=0x%"PRIx64" size=%d" ++cpu_ioreq_pio_write_reg(void *req, uint64_t data, uint64_t addr, uint32_t size) "I/O=%p pio write reg data=0x%"PRIx64" port=0x%"PRIx64" size=%d" ++cpu_ioreq_move(void *req, uint32_t dir, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p copy dir=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d" ++xen_map_resource_ioreq(uint32_t id, void *addr) "id: %u addr: %p" ++cpu_ioreq_config_read(void *req, uint32_t sbdf, uint32_t reg, uint32_t size, uint32_t data) "I/O=%p sbdf=0x%x reg=%u size=%u data=0x%x" ++cpu_ioreq_config_write(void *req, uint32_t sbdf, uint32_t reg, uint32_t size, uint32_t data) "I/O=%p sbdf=0x%x reg=%u size=%u data=0x%x" ++ + # xen-mapcache.c + xen_map_cache(uint64_t phys_addr) "want 0x%"PRIx64 + xen_remap_bucket(uint64_t index) "index 0x%"PRIx64 +diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c +new file mode 100644 +index 0000000000..67f76f6010 +--- /dev/null ++++ b/hw/xen/xen-hvm-common.c +@@ -0,0 +1,861 @@ ++#include "qemu/osdep.h" ++#include "qemu/units.h" ++#include "qapi/error.h" ++#include "trace.h" ++ ++#include "hw/pci/pci_host.h" ++#include "hw/xen/xen-hvm-common.h" ++#include "hw/xen/xen-legacy-backend.h" ++#include "hw/xen/xen-bus.h" ++#include "hw/boards.h" ++#include "hw/xen/arch_hvm.h" ++ ++MemoryRegion ram_memory; ++ ++MemoryListener xen_io_listener = { ++ .name = "xen-io", ++ .region_add = xen_io_add, ++ .region_del = xen_io_del, ++ .priority = 10, ++}; ++ ++DeviceListener xen_device_listener = { ++ .realize = xen_device_realize, ++ .unrealize = xen_device_unrealize, ++}; ++ ++static void xen_set_memory(struct MemoryListener *listener, ++ MemoryRegionSection *section, ++ bool add) ++{ ++ XenIOState *state = container_of(listener, XenIOState, memory_listener); ++ ++ if (section->mr == &ram_memory) { ++ return; ++ } else { ++ if (add) { ++ xen_map_memory_section(xen_domid, state->ioservid, ++ section); ++ } else { ++ xen_unmap_memory_section(xen_domid, state->ioservid, ++ section); ++ } ++ } ++ arch_xen_set_memory(state, section, add); ++} ++ ++void xen_region_add(MemoryListener *listener, ++ MemoryRegionSection *section) ++{ ++ memory_region_ref(section->mr); ++ xen_set_memory(listener, section, true); ++} ++ ++void xen_region_del(MemoryListener *listener, ++ MemoryRegionSection *section) ++{ ++ xen_set_memory(listener, section, false); ++ memory_region_unref(section->mr); ++} ++ ++void xen_io_add(MemoryListener *listener, ++ MemoryRegionSection *section) ++{ ++ XenIOState *state = container_of(listener, XenIOState, io_listener); ++ MemoryRegion *mr = section->mr; ++ ++ if (mr->ops == &unassigned_io_ops) { ++ return; ++ } ++ ++ memory_region_ref(mr); ++ ++ xen_map_io_section(xen_domid, state->ioservid, section); ++} ++ ++void xen_io_del(MemoryListener *listener, ++ MemoryRegionSection *section) ++{ ++ XenIOState *state = container_of(listener, XenIOState, io_listener); ++ MemoryRegion *mr = section->mr; ++ ++ if (mr->ops == &unassigned_io_ops) { ++ return; ++ } ++ ++ xen_unmap_io_section(xen_domid, state->ioservid, section); ++ ++ memory_region_unref(mr); ++} ++ ++void xen_device_realize(DeviceListener *listener, ++ DeviceState *dev) ++{ ++ XenIOState *state = container_of(listener, XenIOState, device_listener); ++ ++ if (object_dynamic_cast(OBJECT(dev), TYPE_PCI_DEVICE)) { ++ PCIDevice *pci_dev = PCI_DEVICE(dev); ++ XenPciDevice *xendev = g_new(XenPciDevice, 1); ++ ++ xendev->pci_dev = pci_dev; ++ xendev->sbdf = PCI_BUILD_BDF(pci_dev_bus_num(pci_dev), ++ pci_dev->devfn); ++ QLIST_INSERT_HEAD(&state->dev_list, xendev, entry); ++ ++ xen_map_pcidev(xen_domid, state->ioservid, pci_dev); ++ } ++} ++ ++void xen_device_unrealize(DeviceListener *listener, ++ DeviceState *dev) ++{ ++ XenIOState *state = container_of(listener, XenIOState, device_listener); ++ ++ if (object_dynamic_cast(OBJECT(dev), TYPE_PCI_DEVICE)) { ++ PCIDevice *pci_dev = PCI_DEVICE(dev); ++ XenPciDevice *xendev, *next; ++ ++ xen_unmap_pcidev(xen_domid, state->ioservid, pci_dev); ++ ++ QLIST_FOREACH_SAFE(xendev, &state->dev_list, entry, next) { ++ if (xendev->pci_dev == pci_dev) { ++ QLIST_REMOVE(xendev, entry); ++ g_free(xendev); ++ break; ++ } ++ } ++ } ++} ++ ++/* get the ioreq packets from share mem */ ++static ioreq_t *cpu_get_ioreq_from_shared_memory(XenIOState *state, int vcpu) ++{ ++ ioreq_t *req = xen_vcpu_ioreq(state->shared_page, vcpu); ++ ++ if (req->state != STATE_IOREQ_READY) { ++ DPRINTF("I/O request not ready: " ++ "%x, ptr: %x, port: %"PRIx64", " ++ "data: %"PRIx64", count: %u, size: %u\n", ++ req->state, req->data_is_ptr, req->addr, ++ req->data, req->count, req->size); ++ return NULL; ++ } ++ ++ xen_rmb(); /* see IOREQ_READY /then/ read contents of ioreq */ ++ ++ req->state = STATE_IOREQ_INPROCESS; ++ return req; ++} ++ ++/* use poll to get the port notification */ ++/* ioreq_vec--out,the */ ++/* retval--the number of ioreq packet */ ++static ioreq_t *cpu_get_ioreq(XenIOState *state) ++{ ++ MachineState *ms = MACHINE(qdev_get_machine()); ++ unsigned int max_cpus = ms->smp.max_cpus; ++ int i; ++ evtchn_port_t port; ++ ++ port = xenevtchn_pending(state->xce_handle); ++ if (port == state->bufioreq_local_port) { ++ timer_mod(state->buffered_io_timer, ++ BUFFER_IO_MAX_DELAY + qemu_clock_get_ms(QEMU_CLOCK_REALTIME)); ++ return NULL; ++ } ++ ++ if (port != -1) { ++ for (i = 0; i < max_cpus; i++) { ++ if (state->ioreq_local_port[i] == port) { ++ break; ++ } ++ } ++ ++ if (i == max_cpus) { ++ hw_error("Fatal error while trying to get io event!\n"); ++ } ++ ++ /* unmask the wanted port again */ ++ xenevtchn_unmask(state->xce_handle, port); ++ ++ /* get the io packet from shared memory */ ++ state->send_vcpu = i; ++ return cpu_get_ioreq_from_shared_memory(state, i); ++ } ++ ++ /* read error or read nothing */ ++ return NULL; ++} ++ ++static uint32_t do_inp(uint32_t addr, unsigned long size) ++{ ++ switch (size) { ++ case 1: ++ return cpu_inb(addr); ++ case 2: ++ return cpu_inw(addr); ++ case 4: ++ return cpu_inl(addr); ++ default: ++ hw_error("inp: bad size: %04x %lx", addr, size); ++ } ++} ++ ++static void do_outp(uint32_t addr, ++ unsigned long size, uint32_t val) ++{ ++ switch (size) { ++ case 1: ++ return cpu_outb(addr, val); ++ case 2: ++ return cpu_outw(addr, val); ++ case 4: ++ return cpu_outl(addr, val); ++ default: ++ hw_error("outp: bad size: %04x %lx", addr, size); ++ } ++} ++ ++/* ++ * Helper functions which read/write an object from/to physical guest ++ * memory, as part of the implementation of an ioreq. ++ * ++ * Equivalent to ++ * cpu_physical_memory_rw(addr + (req->df ? -1 : +1) * req->size * i, ++ * val, req->size, 0/1) ++ * except without the integer overflow problems. ++ */ ++static void rw_phys_req_item(hwaddr addr, ++ ioreq_t *req, uint32_t i, void *val, int rw) ++{ ++ /* Do everything unsigned so overflow just results in a truncated result ++ * and accesses to undesired parts of guest memory, which is up ++ * to the guest */ ++ hwaddr offset = (hwaddr)req->size * i; ++ if (req->df) { ++ addr -= offset; ++ } else { ++ addr += offset; ++ } ++ cpu_physical_memory_rw(addr, val, req->size, rw); ++} ++ ++static inline void read_phys_req_item(hwaddr addr, ++ ioreq_t *req, uint32_t i, void *val) ++{ ++ rw_phys_req_item(addr, req, i, val, 0); ++} ++static inline void write_phys_req_item(hwaddr addr, ++ ioreq_t *req, uint32_t i, void *val) ++{ ++ rw_phys_req_item(addr, req, i, val, 1); ++} ++ ++ ++void cpu_ioreq_pio(ioreq_t *req) ++{ ++ uint32_t i; ++ ++ trace_cpu_ioreq_pio(req, req->dir, req->df, req->data_is_ptr, req->addr, ++ req->data, req->count, req->size); ++ ++ if (req->size > sizeof(uint32_t)) { ++ hw_error("PIO: bad size (%u)", req->size); ++ } ++ ++ if (req->dir == IOREQ_READ) { ++ if (!req->data_is_ptr) { ++ req->data = do_inp(req->addr, req->size); ++ trace_cpu_ioreq_pio_read_reg(req, req->data, req->addr, ++ req->size); ++ } else { ++ uint32_t tmp; ++ ++ for (i = 0; i < req->count; i++) { ++ tmp = do_inp(req->addr, req->size); ++ write_phys_req_item(req->data, req, i, &tmp); ++ } ++ } ++ } else if (req->dir == IOREQ_WRITE) { ++ if (!req->data_is_ptr) { ++ trace_cpu_ioreq_pio_write_reg(req, req->data, req->addr, ++ req->size); ++ do_outp(req->addr, req->size, req->data); ++ } else { ++ for (i = 0; i < req->count; i++) { ++ uint32_t tmp = 0; ++ ++ read_phys_req_item(req->data, req, i, &tmp); ++ do_outp(req->addr, req->size, tmp); ++ } ++ } ++ } ++} ++ ++static void cpu_ioreq_move(ioreq_t *req) ++{ ++ uint32_t i; ++ ++ trace_cpu_ioreq_move(req, req->dir, req->df, req->data_is_ptr, req->addr, ++ req->data, req->count, req->size); ++ ++ if (req->size > sizeof(req->data)) { ++ hw_error("MMIO: bad size (%u)", req->size); ++ } ++ ++ if (!req->data_is_ptr) { ++ if (req->dir == IOREQ_READ) { ++ for (i = 0; i < req->count; i++) { ++ read_phys_req_item(req->addr, req, i, &req->data); ++ } ++ } else if (req->dir == IOREQ_WRITE) { ++ for (i = 0; i < req->count; i++) { ++ write_phys_req_item(req->addr, req, i, &req->data); ++ } ++ } ++ } else { ++ uint64_t tmp; ++ ++ if (req->dir == IOREQ_READ) { ++ for (i = 0; i < req->count; i++) { ++ read_phys_req_item(req->addr, req, i, &tmp); ++ write_phys_req_item(req->data, req, i, &tmp); ++ } ++ } else if (req->dir == IOREQ_WRITE) { ++ for (i = 0; i < req->count; i++) { ++ read_phys_req_item(req->data, req, i, &tmp); ++ write_phys_req_item(req->addr, req, i, &tmp); ++ } ++ } ++ } ++} ++ ++static void cpu_ioreq_config(XenIOState *state, ioreq_t *req) ++{ ++ uint32_t sbdf = req->addr >> 32; ++ uint32_t reg = req->addr; ++ XenPciDevice *xendev; ++ ++ if (req->size != sizeof(uint8_t) && req->size != sizeof(uint16_t) && ++ req->size != sizeof(uint32_t)) { ++ hw_error("PCI config access: bad size (%u)", req->size); ++ } ++ ++ if (req->count != 1) { ++ hw_error("PCI config access: bad count (%u)", req->count); ++ } ++ ++ QLIST_FOREACH(xendev, &state->dev_list, entry) { ++ if (xendev->sbdf != sbdf) { ++ continue; ++ } ++ ++ if (!req->data_is_ptr) { ++ if (req->dir == IOREQ_READ) { ++ req->data = pci_host_config_read_common( ++ xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE, ++ req->size); ++ trace_cpu_ioreq_config_read(req, xendev->sbdf, reg, ++ req->size, req->data); ++ } else if (req->dir == IOREQ_WRITE) { ++ trace_cpu_ioreq_config_write(req, xendev->sbdf, reg, ++ req->size, req->data); ++ pci_host_config_write_common( ++ xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE, ++ req->data, req->size); ++ } ++ } else { ++ uint32_t tmp; ++ ++ if (req->dir == IOREQ_READ) { ++ tmp = pci_host_config_read_common( ++ xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE, ++ req->size); ++ trace_cpu_ioreq_config_read(req, xendev->sbdf, reg, ++ req->size, tmp); ++ write_phys_req_item(req->data, req, 0, &tmp); ++ } else if (req->dir == IOREQ_WRITE) { ++ read_phys_req_item(req->data, req, 0, &tmp); ++ trace_cpu_ioreq_config_write(req, xendev->sbdf, reg, ++ req->size, tmp); ++ pci_host_config_write_common( ++ xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE, ++ tmp, req->size); ++ } ++ } ++ } ++} ++ ++static void handle_ioreq(XenIOState *state, ioreq_t *req) ++{ ++ trace_handle_ioreq(req, req->type, req->dir, req->df, req->data_is_ptr, ++ req->addr, req->data, req->count, req->size); ++ ++ if (!req->data_is_ptr && (req->dir == IOREQ_WRITE) && ++ (req->size < sizeof (target_ulong))) { ++ req->data &= ((target_ulong) 1 << (8 * req->size)) - 1; ++ } ++ ++ if (req->dir == IOREQ_WRITE) ++ trace_handle_ioreq_write(req, req->type, req->df, req->data_is_ptr, ++ req->addr, req->data, req->count, req->size); ++ ++ switch (req->type) { ++ case IOREQ_TYPE_PIO: ++ cpu_ioreq_pio(req); ++ break; ++ case IOREQ_TYPE_COPY: ++ cpu_ioreq_move(req); ++ break; ++ case IOREQ_TYPE_TIMEOFFSET: ++ break; ++ case IOREQ_TYPE_INVALIDATE: ++ xen_invalidate_map_cache(); ++ break; ++ case IOREQ_TYPE_PCI_CONFIG: ++ cpu_ioreq_config(state, req); ++ break; ++ default: ++ arch_handle_ioreq(state, req); ++ } ++ if (req->dir == IOREQ_READ) { ++ trace_handle_ioreq_read(req, req->type, req->df, req->data_is_ptr, ++ req->addr, req->data, req->count, req->size); ++ } ++} ++ ++static bool handle_buffered_iopage(XenIOState *state) ++{ ++ buffered_iopage_t *buf_page = state->buffered_io_page; ++ buf_ioreq_t *buf_req = NULL; ++ bool handled_ioreq = false; ++ ioreq_t req; ++ int qw; ++ ++ if (!buf_page) { ++ return 0; ++ } ++ ++ memset(&req, 0x00, sizeof(req)); ++ req.state = STATE_IOREQ_READY; ++ req.count = 1; ++ req.dir = IOREQ_WRITE; ++ ++ for (;;) { ++ uint32_t rdptr = buf_page->read_pointer, wrptr; ++ ++ xen_rmb(); ++ wrptr = buf_page->write_pointer; ++ xen_rmb(); ++ if (rdptr != buf_page->read_pointer) { ++ continue; ++ } ++ if (rdptr == wrptr) { ++ break; ++ } ++ buf_req = &buf_page->buf_ioreq[rdptr % IOREQ_BUFFER_SLOT_NUM]; ++ req.size = 1U << buf_req->size; ++ req.addr = buf_req->addr; ++ req.data = buf_req->data; ++ req.type = buf_req->type; ++ xen_rmb(); ++ qw = (req.size == 8); ++ if (qw) { ++ if (rdptr + 1 == wrptr) { ++ hw_error("Incomplete quad word buffered ioreq"); ++ } ++ buf_req = &buf_page->buf_ioreq[(rdptr + 1) % ++ IOREQ_BUFFER_SLOT_NUM]; ++ req.data |= ((uint64_t)buf_req->data) << 32; ++ xen_rmb(); ++ } ++ ++ handle_ioreq(state, &req); ++ ++ /* Only req.data may get updated by handle_ioreq(), albeit even that ++ * should not happen as such data would never make it to the guest (we ++ * can only usefully see writes here after all). ++ */ ++ assert(req.state == STATE_IOREQ_READY); ++ assert(req.count == 1); ++ assert(req.dir == IOREQ_WRITE); ++ assert(!req.data_is_ptr); ++ ++ qatomic_add(&buf_page->read_pointer, qw + 1); ++ } ++ ++ return handled_ioreq; ++} ++ ++static void handle_buffered_io(void *opaque) ++{ ++ XenIOState *state = opaque; ++ ++ if (handle_buffered_iopage(state)) { ++ timer_mod(state->buffered_io_timer, ++ BUFFER_IO_MAX_DELAY + qemu_clock_get_ms(QEMU_CLOCK_REALTIME)); ++ } else { ++ timer_del(state->buffered_io_timer); ++ xenevtchn_unmask(state->xce_handle, state->bufioreq_local_port); ++ } ++} ++ ++static void cpu_handle_ioreq(void *opaque) ++{ ++ XenIOState *state = opaque; ++ ioreq_t *req = cpu_get_ioreq(state); ++ ++ handle_buffered_iopage(state); ++ if (req) { ++ ioreq_t copy = *req; ++ ++ xen_rmb(); ++ handle_ioreq(state, ©); ++ req->data = copy.data; ++ ++ if (req->state != STATE_IOREQ_INPROCESS) { ++ fprintf(stderr, "Badness in I/O request ... not in service?!: " ++ "%x, ptr: %x, port: %"PRIx64", " ++ "data: %"PRIx64", count: %u, size: %u, type: %u\n", ++ req->state, req->data_is_ptr, req->addr, ++ req->data, req->count, req->size, req->type); ++ destroy_hvm_domain(false); ++ return; ++ } ++ ++ xen_wmb(); /* Update ioreq contents /then/ update state. */ ++ ++ /* ++ * We do this before we send the response so that the tools ++ * have the opportunity to pick up on the reset before the ++ * guest resumes and does a hlt with interrupts disabled which ++ * causes Xen to powerdown the domain. ++ */ ++ if (runstate_is_running()) { ++ ShutdownCause request; ++ ++ if (qemu_shutdown_requested_get()) { ++ destroy_hvm_domain(false); ++ } ++ request = qemu_reset_requested_get(); ++ if (request) { ++ qemu_system_reset(request); ++ destroy_hvm_domain(true); ++ } ++ } ++ ++ req->state = STATE_IORESP_READY; ++ xenevtchn_notify(state->xce_handle, ++ state->ioreq_local_port[state->send_vcpu]); ++ } ++} ++ ++static void xen_main_loop_prepare(XenIOState *state) ++{ ++ int evtchn_fd = -1; ++ ++ if (state->xce_handle != NULL) { ++ evtchn_fd = xenevtchn_fd(state->xce_handle); ++ } ++ ++ state->buffered_io_timer = timer_new_ms(QEMU_CLOCK_REALTIME, handle_buffered_io, ++ state); ++ ++ if (evtchn_fd != -1) { ++ CPUState *cpu_state; ++ ++ DPRINTF("%s: Init cpu_by_vcpu_id\n", __func__); ++ CPU_FOREACH(cpu_state) { ++ DPRINTF("%s: cpu_by_vcpu_id[%d]=%p\n", ++ __func__, cpu_state->cpu_index, cpu_state); ++ state->cpu_by_vcpu_id[cpu_state->cpu_index] = cpu_state; ++ } ++ qemu_set_fd_handler(evtchn_fd, cpu_handle_ioreq, NULL, state); ++ } ++} ++ ++ ++void xen_hvm_change_state_handler(void *opaque, bool running, ++ RunState rstate) ++{ ++ XenIOState *state = opaque; ++ ++ if (running) { ++ xen_main_loop_prepare(state); ++ } ++ ++ xen_set_ioreq_server_state(xen_domid, ++ state->ioservid, ++ (rstate == RUN_STATE_RUNNING)); ++} ++ ++void xen_exit_notifier(Notifier *n, void *data) ++{ ++ XenIOState *state = container_of(n, XenIOState, exit); ++ ++ xen_destroy_ioreq_server(xen_domid, state->ioservid); ++ if (state->fres != NULL) { ++ xenforeignmemory_unmap_resource(xen_fmem, state->fres); ++ } ++ ++ xenevtchn_close(state->xce_handle); ++ xs_daemon_close(state->xenstore); ++} ++ ++static int xen_map_ioreq_server(XenIOState *state) ++{ ++ void *addr = NULL; ++ xen_pfn_t ioreq_pfn; ++ xen_pfn_t bufioreq_pfn; ++ evtchn_port_t bufioreq_evtchn; ++ int rc; ++ ++ /* ++ * Attempt to map using the resource API and fall back to normal ++ * foreign mapping if this is not supported. ++ */ ++ QEMU_BUILD_BUG_ON(XENMEM_resource_ioreq_server_frame_bufioreq != 0); ++ QEMU_BUILD_BUG_ON(XENMEM_resource_ioreq_server_frame_ioreq(0) != 1); ++ state->fres = xenforeignmemory_map_resource(xen_fmem, xen_domid, ++ XENMEM_resource_ioreq_server, ++ state->ioservid, 0, 2, ++ &addr, ++ PROT_READ | PROT_WRITE, 0); ++ if (state->fres != NULL) { ++ trace_xen_map_resource_ioreq(state->ioservid, addr); ++ state->buffered_io_page = addr; ++ state->shared_page = addr + TARGET_PAGE_SIZE; ++ } else if (errno != EOPNOTSUPP) { ++ error_report("failed to map ioreq server resources: error %d handle=%p", ++ errno, xen_xc); ++ return -1; ++ } ++ ++ rc = xen_get_ioreq_server_info(xen_domid, state->ioservid, ++ (state->shared_page == NULL) ? ++ &ioreq_pfn : NULL, ++ (state->buffered_io_page == NULL) ? ++ &bufioreq_pfn : NULL, ++ &bufioreq_evtchn); ++ if (rc < 0) { ++ error_report("failed to get ioreq server info: error %d handle=%p", ++ errno, xen_xc); ++ return rc; ++ } ++ ++ if (state->shared_page == NULL) { ++ DPRINTF("shared page at pfn %lx\n", ioreq_pfn); ++ ++ state->shared_page = xenforeignmemory_map(xen_fmem, xen_domid, ++ PROT_READ | PROT_WRITE, ++ 1, &ioreq_pfn, NULL); ++ if (state->shared_page == NULL) { ++ error_report("map shared IO page returned error %d handle=%p", ++ errno, xen_xc); ++ } ++ } ++ ++ if (state->buffered_io_page == NULL) { ++ DPRINTF("buffered io page at pfn %lx\n", bufioreq_pfn); ++ ++ state->buffered_io_page = xenforeignmemory_map(xen_fmem, xen_domid, ++ PROT_READ | PROT_WRITE, ++ 1, &bufioreq_pfn, ++ NULL); ++ if (state->buffered_io_page == NULL) { ++ error_report("map buffered IO page returned error %d", errno); ++ return -1; ++ } ++ } ++ ++ if (state->shared_page == NULL || state->buffered_io_page == NULL) { ++ return -1; ++ } ++ ++ DPRINTF("buffered io evtchn is %x\n", bufioreq_evtchn); ++ ++ state->bufioreq_remote_port = bufioreq_evtchn; ++ ++ return 0; ++} ++ ++void xen_shutdown_fatal_error(const char *fmt, ...) ++{ ++ va_list ap; ++ ++ va_start(ap, fmt); ++ vfprintf(stderr, fmt, ap); ++ va_end(ap); ++ fprintf(stderr, "Will destroy the domain.\n"); ++ /* destroy the domain */ ++ qemu_system_shutdown_request(SHUTDOWN_CAUSE_HOST_ERROR); ++} ++ ++void destroy_hvm_domain(bool reboot) ++{ ++ xc_interface *xc_handle; ++ int sts; ++ int rc; ++ ++ unsigned int reason = reboot ? SHUTDOWN_reboot : SHUTDOWN_poweroff; ++ ++ if (xen_dmod) { ++ rc = xendevicemodel_shutdown(xen_dmod, xen_domid, reason); ++ if (!rc) { ++ return; ++ } ++ if (errno != ENOTTY /* old Xen */) { ++ perror("xendevicemodel_shutdown failed"); ++ } ++ /* well, try the old thing then */ ++ } ++ ++ xc_handle = xc_interface_open(0, 0, 0); ++ if (xc_handle == NULL) { ++ fprintf(stderr, "Cannot acquire xenctrl handle\n"); ++ } else { ++ sts = xc_domain_shutdown(xc_handle, xen_domid, reason); ++ if (sts != 0) { ++ fprintf(stderr, "xc_domain_shutdown failed to issue %s, " ++ "sts %d, %s\n", reboot ? "reboot" : "poweroff", ++ sts, strerror(errno)); ++ } else { ++ fprintf(stderr, "Issued domain %d %s\n", xen_domid, ++ reboot ? "reboot" : "poweroff"); ++ } ++ xc_interface_close(xc_handle); ++ } ++} ++ ++void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr, ++ Error **errp) ++{ ++ unsigned long nr_pfn; ++ xen_pfn_t *pfn_list; ++ int i; ++ ++ if (runstate_check(RUN_STATE_INMIGRATE)) { ++ /* RAM already populated in Xen */ ++ fprintf(stderr, "%s: do not alloc "RAM_ADDR_FMT ++ " bytes of ram at "RAM_ADDR_FMT" when runstate is INMIGRATE\n", ++ __func__, size, ram_addr); ++ return; ++ } ++ ++ if (mr == &ram_memory) { ++ return; ++ } ++ ++ trace_xen_ram_alloc(ram_addr, size); ++ ++ nr_pfn = size >> TARGET_PAGE_BITS; ++ pfn_list = g_malloc(sizeof (*pfn_list) * nr_pfn); ++ ++ for (i = 0; i < nr_pfn; i++) { ++ pfn_list[i] = (ram_addr >> TARGET_PAGE_BITS) + i; ++ } ++ ++ if (xc_domain_populate_physmap_exact(xen_xc, xen_domid, nr_pfn, 0, 0, pfn_list)) { ++ error_setg(errp, "xen: failed to populate ram at " RAM_ADDR_FMT, ++ ram_addr); ++ } ++ ++ g_free(pfn_list); ++} ++ ++void xen_register_ioreq(XenIOState *state, unsigned int max_cpus, ++ MemoryListener xen_memory_listener) ++{ ++ int i, rc; ++ ++ state->xce_handle = xenevtchn_open(NULL, 0); ++ if (state->xce_handle == NULL) { ++ perror("xen: event channel open"); ++ goto err; ++ } ++ ++ state->xenstore = xs_daemon_open(); ++ if (state->xenstore == NULL) { ++ perror("xen: xenstore open"); ++ goto err; ++ } ++ ++ xen_create_ioreq_server(xen_domid, &state->ioservid); ++ ++ state->exit.notify = xen_exit_notifier; ++ qemu_add_exit_notifier(&state->exit); ++ ++ /* ++ * Register wake-up support in QMP query-current-machine API ++ */ ++ qemu_register_wakeup_support(); ++ ++ rc = xen_map_ioreq_server(state); ++ if (rc < 0) { ++ goto err; ++ } ++ ++ /* Note: cpus is empty at this point in init */ ++ state->cpu_by_vcpu_id = g_new0(CPUState *, max_cpus); ++ ++ rc = xen_set_ioreq_server_state(xen_domid, state->ioservid, true); ++ if (rc < 0) { ++ error_report("failed to enable ioreq server info: error %d handle=%p", ++ errno, xen_xc); ++ goto err; ++ } ++ ++ state->ioreq_local_port = g_new0(evtchn_port_t, max_cpus); ++ ++ /* FIXME: how about if we overflow the page here? */ ++ for (i = 0; i < max_cpus; i++) { ++ rc = xenevtchn_bind_interdomain(state->xce_handle, xen_domid, ++ xen_vcpu_eport(state->shared_page, i)); ++ if (rc == -1) { ++ error_report("shared evtchn %d bind error %d", i, errno); ++ goto err; ++ } ++ state->ioreq_local_port[i] = rc; ++ } ++ ++ rc = xenevtchn_bind_interdomain(state->xce_handle, xen_domid, ++ state->bufioreq_remote_port); ++ if (rc == -1) { ++ error_report("buffered evtchn bind error %d", errno); ++ goto err; ++ } ++ state->bufioreq_local_port = rc; ++ ++ /* Init RAM management */ ++#ifdef XEN_COMPAT_PHYSMAP ++ xen_map_cache_init(xen_phys_offset_to_gaddr, state); ++#else ++ xen_map_cache_init(NULL, state); ++#endif ++ ++ qemu_add_vm_change_state_handler(xen_hvm_change_state_handler, state); ++ ++ state->memory_listener = xen_memory_listener; ++ memory_listener_register(&state->memory_listener, &address_space_memory); ++ ++ state->io_listener = xen_io_listener; ++ memory_listener_register(&state->io_listener, &address_space_io); ++ ++ state->device_listener = xen_device_listener; ++ QLIST_INIT(&state->dev_list); ++ device_listener_register(&state->device_listener); ++ ++ xen_bus_init(); ++ ++ /* Initialize backend core & drivers */ ++ if (xen_be_init() != 0) { ++ error_report("xen backend core setup failed"); ++ goto err; ++ } ++ xen_be_register_common(); ++ ++ return; ++err: ++ error_report("xen hardware virtual machine initialisation failed"); ++ exit(1); ++} +diff --git a/include/hw/i386/xen_arch_hvm.h b/include/hw/i386/xen_arch_hvm.h +index 1b2c71ba4f..1000f8f543 100644 +--- a/include/hw/i386/xen_arch_hvm.h ++++ b/include/hw/i386/xen_arch_hvm.h +@@ -2,6 +2,7 @@ + #define HW_XEN_ARCH_I386_HVM_H + + #include ++#include "hw/xen/xen-hvm-common.h" + + void arch_handle_ioreq(XenIOState *state, ioreq_t *req); + void arch_xen_set_memory(XenIOState *state, +diff --git a/include/hw/xen/xen-hvm-common.h b/include/hw/xen/xen-hvm-common.h +new file mode 100644 +index 0000000000..2979f84ee2 +--- /dev/null ++++ b/include/hw/xen/xen-hvm-common.h +@@ -0,0 +1,98 @@ ++#ifndef HW_XEN_HVM_COMMON_H ++#define HW_XEN_HVM_COMMON_H ++ ++#include "qemu/osdep.h" ++#include "qemu/units.h" ++ ++#include "cpu.h" ++#include "hw/pci/pci.h" ++#include "hw/hw.h" ++#include "hw/xen/xen_common.h" ++#include "sysemu/runstate.h" ++#include "sysemu/sysemu.h" ++#include "sysemu/xen.h" ++#include "sysemu/xen-mapcache.h" ++ ++#include ++ ++extern MemoryRegion ram_memory; ++extern MemoryListener xen_io_listener; ++extern DeviceListener xen_device_listener; ++ ++//#define DEBUG_XEN_HVM ++ ++#ifdef DEBUG_XEN_HVM ++#define DPRINTF(fmt, ...) \ ++ do { fprintf(stderr, "xen: " fmt, ## __VA_ARGS__); } while (0) ++#else ++#define DPRINTF(fmt, ...) \ ++ do { } while (0) ++#endif ++ ++static inline uint32_t xen_vcpu_eport(shared_iopage_t *shared_page, int i) ++{ ++ return shared_page->vcpu_ioreq[i].vp_eport; ++} ++static inline ioreq_t *xen_vcpu_ioreq(shared_iopage_t *shared_page, int vcpu) ++{ ++ return &shared_page->vcpu_ioreq[vcpu]; ++} ++ ++#define BUFFER_IO_MAX_DELAY 100 ++ ++typedef struct XenPhysmap { ++ hwaddr start_addr; ++ ram_addr_t size; ++ const char *name; ++ hwaddr phys_offset; ++ ++ QLIST_ENTRY(XenPhysmap) list; ++} XenPhysmap; ++ ++typedef struct XenPciDevice { ++ PCIDevice *pci_dev; ++ uint32_t sbdf; ++ QLIST_ENTRY(XenPciDevice) entry; ++} XenPciDevice; ++ ++typedef struct XenIOState { ++ ioservid_t ioservid; ++ shared_iopage_t *shared_page; ++ buffered_iopage_t *buffered_io_page; ++ xenforeignmemory_resource_handle *fres; ++ QEMUTimer *buffered_io_timer; ++ CPUState **cpu_by_vcpu_id; ++ /* the evtchn port for polling the notification, */ ++ evtchn_port_t *ioreq_local_port; ++ /* evtchn remote and local ports for buffered io */ ++ evtchn_port_t bufioreq_remote_port; ++ evtchn_port_t bufioreq_local_port; ++ /* the evtchn fd for polling */ ++ xenevtchn_handle *xce_handle; ++ /* which vcpu we are serving */ ++ int send_vcpu; ++ ++ struct xs_handle *xenstore; ++ MemoryListener memory_listener; ++ MemoryListener io_listener; ++ QLIST_HEAD(, XenPciDevice) dev_list; ++ DeviceListener device_listener; ++ ++ Notifier exit; ++} XenIOState; ++ ++void xen_exit_notifier(Notifier *n, void *data); ++ ++void xen_region_add(MemoryListener *listener, MemoryRegionSection *section); ++void xen_region_del(MemoryListener *listener, MemoryRegionSection *section); ++void xen_io_add(MemoryListener *listener, MemoryRegionSection *section); ++void xen_io_del(MemoryListener *listener, MemoryRegionSection *section); ++void xen_device_realize(DeviceListener *listener, DeviceState *dev); ++void xen_device_unrealize(DeviceListener *listener, DeviceState *dev); ++ ++void xen_hvm_change_state_handler(void *opaque, bool running, RunState rstate); ++void xen_register_ioreq(XenIOState *state, unsigned int max_cpus, ++ MemoryListener xen_memory_listener); ++ ++void cpu_ioreq_pio(ioreq_t *req); ++#endif /* HW_XEN_HVM_COMMON_H */ +-- +2.17.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0007-xen-mapcache-Fix-build-on-Arm.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0007-xen-mapcache-Fix-build-on-Arm.patch new file mode 100644 index 00000000..7ff202ff --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0007-xen-mapcache-Fix-build-on-Arm.patch @@ -0,0 +1,37 @@ +From 2aca3ff63a5d5897cd32e0030569623f0c454f2c Mon Sep 17 00:00:00 2001 +From: Oleksandr Tyshchenko +Date: Mon, 19 Sep 2022 21:59:55 +0300 +Subject: [PATCH 7/8] xen-mapcache: Fix build on Arm +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +../hw/xen/xen-mapcache.c: In function ‘xen_map_grant_dyn’: +../hw/xen/xen-mapcache.c:668:9: error: ‘refs’ may be used uninitialized + in this function [-Werror=maybe-uninitialized] + 668 | g_free(refs); + | ^~~~~~~~~~~~ +cc1: all warnings being treated as errors + +Signed-off-by: Oleksandr Tyshchenko +Acked-by: Stefano Stabellini +--- + hw/xen/xen-mapcache.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c +index f81b75d216..6544e331e0 100644 +--- a/hw/xen/xen-mapcache.c ++++ b/hw/xen/xen-mapcache.c +@@ -620,7 +620,7 @@ static void *xen_map_grant_dyn(MemoryRegion **mr, hwaddr addr, hwaddr *plen, + unsigned int i; + unsigned int nrefs = (page_off + *plen + XC_PAGE_SIZE - 1) >> XC_PAGE_SHIFT; + uint32_t ref = (addr - XEN_GRANT_ADDR_OFF) >> XC_PAGE_SHIFT; +- uint32_t *refs; ++ uint32_t *refs = NULL; + unsigned int prot = PROT_READ; + struct XENMappedGrantRegion *mgr = NULL; + +-- +2.25.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0007-xen-skip-ioreq-creation-on-ioreq-registration-failur.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0007-xen-skip-ioreq-creation-on-ioreq-registration-failur.patch new file mode 100644 index 00000000..83a18c08 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0007-xen-skip-ioreq-creation-on-ioreq-registration-failur.patch @@ -0,0 +1,42 @@ +From fa475ec44fc78ff246e6536c8b9d408abadbb4a4 Mon Sep 17 00:00:00 2001 +From: Stefano Stabellini +Date: Fri, 1 Jul 2022 18:50:59 -0700 +Subject: [PATCH 07/16] xen: skip ioreq creation on ioreq registration failure + +On ARM it is possible to have a functioning xenpv machine with only the +PV backends and no IOREQ server. If the IOREQ server creation fails +continue to the PV backends initialization. + +Signed-off-by: Stefano Stabellini +--- + hw/xen/xen-hvm-common.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c +index 67f76f6010..7e7d23397f 100644 +--- a/hw/xen/xen-hvm-common.c ++++ b/hw/xen/xen-hvm-common.c +@@ -780,7 +780,11 @@ void xen_register_ioreq(XenIOState *state, unsigned int max_cpus, + goto err; + } + +- xen_create_ioreq_server(xen_domid, &state->ioservid); ++ rc = xen_create_ioreq_server(xen_domid, &state->ioservid); ++ if (rc) { ++ DPRINTF("xen: failed to create ioreq server\n"); ++ goto no_ioreq; ++ } + + state->exit.notify = xen_exit_notifier; + qemu_add_exit_notifier(&state->exit); +@@ -845,6 +849,7 @@ void xen_register_ioreq(XenIOState *state, unsigned int max_cpus, + QLIST_INIT(&state->dev_list); + device_listener_register(&state->device_listener); + ++no_ioreq: + xen_bus_init(); + + /* Initialize backend core & drivers */ +-- +2.17.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0008-accel-xen-xen-all-export-xenstore_record_dm_state.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0008-accel-xen-xen-all-export-xenstore_record_dm_state.patch new file mode 100644 index 00000000..881076fb --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0008-accel-xen-xen-all-export-xenstore_record_dm_state.patch @@ -0,0 +1,48 @@ +From 13443fe86bb100849c55b41873f48e0b121c7bc0 Mon Sep 17 00:00:00 2001 +From: Vikram Garhwal +Date: Fri, 1 Jul 2022 17:28:14 -0700 +Subject: [PATCH 08/16] accel/xen/xen-all: export xenstore_record_dm_state + +Signed-off-by: Vikram Garhwal +Signed-off-by: Stefano Stabellini +Reviewed-by: Stefano Stabellini +--- + accel/xen/xen-all.c | 2 +- + include/hw/xen/xen.h | 2 ++ + 2 files changed, 3 insertions(+), 1 deletion(-) + +diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c +index 69aa7d018b..276625b78b 100644 +--- a/accel/xen/xen-all.c ++++ b/accel/xen/xen-all.c +@@ -100,7 +100,7 @@ void xenstore_store_pv_console_info(int i, Chardev *chr) + } + + +-static void xenstore_record_dm_state(struct xs_handle *xs, const char *state) ++void xenstore_record_dm_state(struct xs_handle *xs, const char *state) + { + char path[50]; + +diff --git a/include/hw/xen/xen.h b/include/hw/xen/xen.h +index afdf9c436a..31e9538a5c 100644 +--- a/include/hw/xen/xen.h ++++ b/include/hw/xen/xen.h +@@ -9,6 +9,7 @@ + */ + + #include "exec/cpu-common.h" ++#include + + /* xen-machine.c */ + enum xen_mode { +@@ -31,5 +32,6 @@ qemu_irq *xen_interrupt_controller_init(void); + void xenstore_store_pv_console_info(int i, Chardev *chr); + + void xen_register_framebuffer(struct MemoryRegion *mr); ++void xenstore_record_dm_state(struct xs_handle *xs, const char *state); + + #endif /* QEMU_HW_XEN_H */ +-- +2.17.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0008-hw-arm-Add-grant-mapping.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0008-hw-arm-Add-grant-mapping.patch new file mode 100644 index 00000000..3b83d229 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0008-hw-arm-Add-grant-mapping.patch @@ -0,0 +1,39 @@ +From b5e5f60de37bb6f71bc34ecb989c31ef5c834272 Mon Sep 17 00:00:00 2001 +From: Vikram Garhwal +Date: Tue, 31 Jan 2023 21:46:43 +0000 +Subject: [PATCH 8/8] hw: arm: Add grant mapping. + +Add support for grant mapping and change qemu machine name to xenpvh. + +Signed-off-by: Vikram Garhwal +Acked-by: Stefano Stabellini +--- + hw/arm/xen_arm.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c +index 4ac425a3c5..392bed7367 100644 +--- a/hw/arm/xen_arm.c ++++ b/hw/arm/xen_arm.c +@@ -35,7 +35,7 @@ + #include "sysemu/tpm.h" + #include "hw/xen/arch_hvm.h" + +-#define TYPE_XEN_ARM MACHINE_TYPE_NAME("xenpv") ++#define TYPE_XEN_ARM MACHINE_TYPE_NAME("xenpvh") + OBJECT_DECLARE_SIMPLE_TYPE(XenArmState, XEN_ARM) + + static MemoryListener xen_memory_listener = { +@@ -115,6 +115,9 @@ static void xen_init_ram(MachineState *machine) + DPRINTF("Initialized region xen.ram.hi: base 0x%llx size 0x%lx\n", + GUEST_RAM1_BASE, ram_size[1]); + } ++ ++ DPRINTF("init grant ram mapping for XEN\n"); ++ ram_grants = *xen_init_grant_ram(); + } + + void arch_handle_ioreq(XenIOState *state, ioreq_t *req) +-- +2.25.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0009-xen-hvm-enable-xen-hvm-common-build-for-ARM.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0009-xen-hvm-enable-xen-hvm-common-build-for-ARM.patch new file mode 100644 index 00000000..1b1aea76 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0009-xen-hvm-enable-xen-hvm-common-build-for-ARM.patch @@ -0,0 +1,43 @@ +From 2e6a9f464fd1f247c41ce3666ff3e3f66920d0b7 Mon Sep 17 00:00:00 2001 +From: Vikram Garhwal +Date: Fri, 1 Jul 2022 17:28:15 -0700 +Subject: [PATCH 09/16] xen-hvm: enable xen-hvm-common build for ARM + +Add CONFIG_XEN for aarch64 device and change xen-hvm-common.c to +support build for ARM targets. + +Signed-off-by: Vikram Garhwal +Acked-by: Stefano Stabellini +Signed-off-by: Stefano Stabellini +--- + hw/arm/meson.build | 1 + + meson.build | 2 +- + 2 files changed, 2 insertions(+), 1 deletion(-) + +diff --git a/hw/arm/meson.build b/hw/arm/meson.build +index 92f9f6e000..3aac913bfd 100644 +--- a/hw/arm/meson.build ++++ b/hw/arm/meson.build +@@ -62,5 +62,6 @@ arm_ss.add(when: 'CONFIG_FSL_IMX7', if_true: files('fsl-imx7.c', 'mcimx7d-sabre. + arm_ss.add(when: 'CONFIG_ARM_SMMUV3', if_true: files('smmu-common.c', 'smmuv3.c')) + arm_ss.add(when: 'CONFIG_FSL_IMX6UL', if_true: files('fsl-imx6ul.c', 'mcimx6ul-evk.c')) + arm_ss.add(when: 'CONFIG_NRF51_SOC', if_true: files('nrf51_soc.c')) ++arm_ss.add_all(xen_ss) + + hw_arch += {'arm': arm_ss} +diff --git a/meson.build b/meson.build +index 5c6b5a1c75..b94f0cd76e 100644 +--- a/meson.build ++++ b/meson.build +@@ -125,7 +125,7 @@ endif + if cpu in ['x86', 'x86_64', 'arm', 'aarch64'] + # i386 emulator provides xenpv machine type for multiple architectures + accelerator_targets += { +- 'CONFIG_XEN': ['i386-softmmu', 'x86_64-softmmu'], ++ 'CONFIG_XEN': ['i386-softmmu', 'x86_64-softmmu', 'aarch64-softmmu'], + } + endif + if cpu in ['x86', 'x86_64'] +-- +2.17.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0010-hw-arm-introduce-xenpv-machine.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0010-hw-arm-introduce-xenpv-machine.patch new file mode 100644 index 00000000..fc979b52 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0010-hw-arm-introduce-xenpv-machine.patch @@ -0,0 +1,230 @@ +From 5618a18b1f12d567a8ef85240d55b841e18ef472 Mon Sep 17 00:00:00 2001 +From: Vikram Garhwal +Date: Fri, 1 Jul 2022 17:28:16 -0700 +Subject: [PATCH 10/16] hw/arm: introduce xenpv machine + +Create a new machine xenpv which creates a IOREQ server to connect +with Xen. It also creates a tpm-tis-device which connects to swtpm to +support TPM functionalities. + +Xen IOREQ connection expect the TARGET_PAGE_SIZE to 4096, and the xenpv +machine on ARM will have no CPU definitions. We need to define +TARGET_PAGE_SIZE appropriately ourselves. + +Signed-off-by: Vikram Garhwal +Signed-off-by: Stefano Stabellini +Reviewed-by: Stefano Stabellini +--- + hw/arm/meson.build | 1 + + hw/arm/xen_arm.c | 156 ++++++++++++++++++++++++++++++++++ + include/hw/arm/xen_arch_hvm.h | 12 +++ + include/hw/xen/arch_hvm.h | 2 + + 4 files changed, 171 insertions(+) + create mode 100644 hw/arm/xen_arm.c + create mode 100644 include/hw/arm/xen_arch_hvm.h + +diff --git a/hw/arm/meson.build b/hw/arm/meson.build +index 3aac913bfd..0cae024374 100644 +--- a/hw/arm/meson.build ++++ b/hw/arm/meson.build +@@ -62,6 +62,7 @@ arm_ss.add(when: 'CONFIG_FSL_IMX7', if_true: files('fsl-imx7.c', 'mcimx7d-sabre. + arm_ss.add(when: 'CONFIG_ARM_SMMUV3', if_true: files('smmu-common.c', 'smmuv3.c')) + arm_ss.add(when: 'CONFIG_FSL_IMX6UL', if_true: files('fsl-imx6ul.c', 'mcimx6ul-evk.c')) + arm_ss.add(when: 'CONFIG_NRF51_SOC', if_true: files('nrf51_soc.c')) ++arm_ss.add(when: 'CONFIG_XEN', if_true: files('xen_arm.c')) + arm_ss.add_all(xen_ss) + + hw_arch += {'arm': arm_ss} +diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c +new file mode 100644 +index 0000000000..0922e3db84 +--- /dev/null ++++ b/hw/arm/xen_arm.c +@@ -0,0 +1,156 @@ ++/* ++ * QEMU ARM Xen PV Machine ++ * ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a copy ++ * of this software and associated documentation files (the "Software"), to deal ++ * in the Software without restriction, including without limitation the rights ++ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell ++ * copies of the Software, and to permit persons to whom the Software is ++ * furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included in ++ * all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, ++ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN ++ * THE SOFTWARE. ++ */ ++ ++#include "qemu/osdep.h" ++#include "qemu/error-report.h" ++#include "qapi/qapi-commands-migration.h" ++#include "hw/boards.h" ++#include "hw/sysbus.h" ++#include "sysemu/block-backend.h" ++#include "sysemu/tpm_backend.h" ++#include "sysemu/sysemu.h" ++#include "hw/xen/xen-legacy-backend.h" ++#include "hw/xen/xen-hvm-common.h" ++#include "sysemu/tpm.h" ++#include "hw/xen/arch_hvm.h" ++ ++#define TYPE_XEN_ARM MACHINE_TYPE_NAME("xenpv") ++OBJECT_DECLARE_SIMPLE_TYPE(XenArmState, XEN_ARM) ++ ++static MemoryListener xen_memory_listener = { ++ .region_add = xen_region_add, ++ .region_del = xen_region_del, ++ .log_start = NULL, ++ .log_stop = NULL, ++ .log_sync = NULL, ++ .log_global_start = NULL, ++ .log_global_stop = NULL, ++ .priority = 10, ++}; ++ ++struct XenArmState { ++ /*< private >*/ ++ MachineState parent; ++ ++ XenIOState *state; ++}; ++ ++void arch_handle_ioreq(XenIOState *state, ioreq_t *req) ++{ ++ hw_error("Invalid ioreq type 0x%x\n", req->type); ++ ++ return; ++} ++ ++void arch_xen_set_memory(XenIOState *state,MemoryRegionSection *section, ++ bool add) ++{ ++} ++ ++void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length) ++{ ++} ++ ++void qmp_xen_set_global_dirty_log(bool enable, Error **errp) ++{ ++} ++ ++static int xen_init_ioreq(XenIOState *state, unsigned int max_cpus) ++{ ++ xen_dmod = xendevicemodel_open(0, 0); ++ xen_xc = xc_interface_open(0, 0, 0); ++ ++ if (xen_xc == NULL) { ++ perror("xen: can't open xen interface\n"); ++ return -1; ++ } ++ ++ xen_fmem = xenforeignmemory_open(0, 0); ++ if (xen_fmem == NULL) { ++ perror("xen: can't open xen fmem interface\n"); ++ xc_interface_close(xen_xc); ++ return -1; ++ } ++ ++ xen_register_ioreq(state, max_cpus, xen_memory_listener); ++ ++ xenstore_record_dm_state(xenstore, "running"); ++ ++ return 0; ++} ++ ++ ++static void xen_arm_init(MachineState *machine) ++{ ++ DeviceState *dev; ++ SysBusDevice *busdev; ++ Error *errp = NULL; ++ XenArmState *xam = XEN_ARM(machine); ++ ++ xam->state = g_new0(XenIOState, 1); ++ ++ if (xen_init_ioreq(xam->state, machine->smp.cpus)) { ++ return; ++ } ++ ++ TPMBackend *be = qemu_find_tpm_be("tpm0"); ++ if (be == NULL) { ++ DPRINTF("Couldn't fine the backend for tpm0\n"); ++ return; ++ } ++ ++ dev = qdev_new(TYPE_TPM_TIS_SYSBUS); ++ object_property_set_link(OBJECT(dev), "tpmdev", OBJECT(be), &errp); ++ object_property_set_str(OBJECT(dev), "tpmdev", be->id, &errp); ++ busdev = SYS_BUS_DEVICE(dev); ++ sysbus_realize_and_unref(busdev, &error_fatal); ++ sysbus_mmio_map(busdev, 0, GUEST_TPM_BASE); ++ ++ DPRINTF("Connected tpmdev at address 0x%lx\n", GUEST_TPM_BASE); ++ ++ return; ++} ++ ++static void xen_arm_machine_class_init(ObjectClass *oc, void *data) ++{ ++ ++ MachineClass *mc = MACHINE_CLASS(oc); ++ mc->desc = "Xen Para-virtualized PC"; ++ mc->init = xen_arm_init; ++ mc->max_cpus = 1; ++ machine_class_allow_dynamic_sysbus_dev(mc, TYPE_TPM_TIS_SYSBUS); ++} ++ ++static const TypeInfo xen_arm_machine_type = { ++ .name = TYPE_XEN_ARM, ++ .parent = TYPE_MACHINE, ++ .class_init = xen_arm_machine_class_init, ++ .instance_size = sizeof(XenArmState), ++}; ++ ++static void xen_arm_machine_register_types(void) ++{ ++ type_register_static(&xen_arm_machine_type); ++} ++ ++type_init(xen_arm_machine_register_types) +diff --git a/include/hw/arm/xen_arch_hvm.h b/include/hw/arm/xen_arch_hvm.h +new file mode 100644 +index 0000000000..f645dfec28 +--- /dev/null ++++ b/include/hw/arm/xen_arch_hvm.h +@@ -0,0 +1,12 @@ ++#ifndef HW_XEN_ARCH_ARM_HVM_H ++#define HW_XEN_ARCH_ARM_HVM_H ++ ++#include ++void arch_handle_ioreq(XenIOState *state, ioreq_t *req); ++void arch_xen_set_memory(XenIOState *state, ++ MemoryRegionSection *section, ++ bool add); ++ ++#undef TARGET_PAGE_SIZE ++#define TARGET_PAGE_SIZE 4096 ++#endif +diff --git a/include/hw/xen/arch_hvm.h b/include/hw/xen/arch_hvm.h +index 26674648d8..c7c515220d 100644 +--- a/include/hw/xen/arch_hvm.h ++++ b/include/hw/xen/arch_hvm.h +@@ -1,3 +1,5 @@ + #if defined(TARGET_I386) || defined(TARGET_X86_64) + #include "hw/i386/xen_arch_hvm.h" ++#elif defined(TARGET_ARM) || defined(TARGET_ARM_64) ++#include "hw/arm/xen_arch_hvm.h" + #endif +-- +2.17.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0011-meson.build-do-not-set-have_xen_pci_passthrough-for-.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0011-meson.build-do-not-set-have_xen_pci_passthrough-for-.patch new file mode 100644 index 00000000..dad3029f --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0011-meson.build-do-not-set-have_xen_pci_passthrough-for-.patch @@ -0,0 +1,33 @@ +From f4ff3490639dea08fb70ec69d60fe73ef479073b Mon Sep 17 00:00:00 2001 +From: Stefano Stabellini +Date: Thu, 7 Jul 2022 14:03:41 -0700 +Subject: [PATCH 11/16] meson.build: do not set have_xen_pci_passthrough for + aarch64 targets +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +have_xen_pci_passthrough is only used for Xen x86 VMs. + +Signed-off-by: Stefano Stabellini +Reviewed-by: Alex Bennée +--- + meson.build | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/meson.build b/meson.build +index b94f0cd76e..a4965251ab 100644 +--- a/meson.build ++++ b/meson.build +@@ -1469,6 +1469,8 @@ have_xen_pci_passthrough = get_option('xen_pci_passthrough') \ + error_message: 'Xen PCI passthrough requested but Xen not enabled') \ + .require(targetos == 'linux', + error_message: 'Xen PCI passthrough not available on this platform') \ ++ .require(cpu == 'x86' or cpu == 'x86_64', ++ error_message: 'Xen PCI passthrough not available on this platform') \ + .allowed() + + +-- +2.17.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0012-xen-arm-call-qemu_find_tpm_be-if-CONFIG_TPM.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0012-xen-arm-call-qemu_find_tpm_be-if-CONFIG_TPM.patch new file mode 100644 index 00000000..f80a0873 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0012-xen-arm-call-qemu_find_tpm_be-if-CONFIG_TPM.patch @@ -0,0 +1,72 @@ +From a26982a55fa5f47116b344ca5d411f00c3a2b422 Mon Sep 17 00:00:00 2001 +From: Stefano Stabellini +Date: Thu, 7 Jul 2022 14:35:33 -0700 +Subject: [PATCH 12/16] xen-arm: call qemu_find_tpm_be if CONFIG_TPM + +qemu_find_tpm_be is only availablen when CONFIG_TPM is enabled. +So #ifdef the call to make sure the code builds correctly even when +CONFIG_TPM is not enabled. + +Signed-off-by: Stefano Stabellini +--- + hw/arm/xen_arm.c | 28 +++++++++++++++++----------- + 1 file changed, 17 insertions(+), 11 deletions(-) + +diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c +index 0922e3db84..f248b5744a 100644 +--- a/hw/arm/xen_arm.c ++++ b/hw/arm/xen_arm.c +@@ -99,26 +99,18 @@ static int xen_init_ioreq(XenIOState *state, unsigned int max_cpus) + return 0; + } + +- +-static void xen_arm_init(MachineState *machine) ++static void xen_enable_tpm(void) + { ++#ifdef CONFIG_TPM ++ Error *errp = NULL; + DeviceState *dev; + SysBusDevice *busdev; +- Error *errp = NULL; +- XenArmState *xam = XEN_ARM(machine); +- +- xam->state = g_new0(XenIOState, 1); +- +- if (xen_init_ioreq(xam->state, machine->smp.cpus)) { +- return; +- } + + TPMBackend *be = qemu_find_tpm_be("tpm0"); + if (be == NULL) { + DPRINTF("Couldn't fine the backend for tpm0\n"); + return; + } +- + dev = qdev_new(TYPE_TPM_TIS_SYSBUS); + object_property_set_link(OBJECT(dev), "tpmdev", OBJECT(be), &errp); + object_property_set_str(OBJECT(dev), "tpmdev", be->id, &errp); +@@ -127,6 +119,20 @@ static void xen_arm_init(MachineState *machine) + sysbus_mmio_map(busdev, 0, GUEST_TPM_BASE); + + DPRINTF("Connected tpmdev at address 0x%lx\n", GUEST_TPM_BASE); ++#endif ++} ++ ++static void xen_arm_init(MachineState *machine) ++{ ++ XenArmState *xam = XEN_ARM(machine); ++ ++ xam->state = g_new0(XenIOState, 1); ++ ++ if (xen_init_ioreq(xam->state, machine->smp.cpus)) { ++ return; ++ } ++ ++ xen_enable_tpm(); + + return; + } +-- +2.17.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0013-arm-xenpv-fix-TPM-address-print-warning.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0013-arm-xenpv-fix-TPM-address-print-warning.patch new file mode 100644 index 00000000..1aa09efb --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0013-arm-xenpv-fix-TPM-address-print-warning.patch @@ -0,0 +1,27 @@ +From c5b128668d9cd1e1cb4da80d5bc8aaebc6ff2e19 Mon Sep 17 00:00:00 2001 +From: Vikram Garhwal +Date: Fri, 23 Dec 2022 00:06:29 +0000 +Subject: [PATCH 13/16] arm: xenpv: fix TPM address print warning + +Signed-off-by: Vikram Garhwal +Acked-by: Stefano Stabellini +--- + hw/arm/xen_arm.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c +index f248b5744a..153cedfeb4 100644 +--- a/hw/arm/xen_arm.c ++++ b/hw/arm/xen_arm.c +@@ -118,7 +118,7 @@ static void xen_enable_tpm(void) + sysbus_realize_and_unref(busdev, &error_fatal); + sysbus_mmio_map(busdev, 0, GUEST_TPM_BASE); + +- DPRINTF("Connected tpmdev at address 0x%lx\n", GUEST_TPM_BASE); ++ DPRINTF("Connected tpmdev at address 0x%llx\n", GUEST_TPM_BASE); + #endif + } + +-- +2.17.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0014-xen_arm-Create-virtio-mmio-devices-during-initializa.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0014-xen_arm-Create-virtio-mmio-devices-during-initializa.patch new file mode 100644 index 00000000..a6925acf --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0014-xen_arm-Create-virtio-mmio-devices-during-initializa.patch @@ -0,0 +1,83 @@ +From 3dc39d71c3652bea37dc955d5dbf8cd391d2aed0 Mon Sep 17 00:00:00 2001 +From: Oleksandr Tyshchenko +Date: Sat, 30 Jul 2022 17:51:19 +0300 +Subject: [PATCH 14/16] xen_arm: Create virtio-mmio devices during + initialization + +In order to use virtio backends we need to allocate virtio-mmio +parameters (irq and base) and register corresponding buses. + +Use the constants defined in public header arch-arm.h to be +aligned with the toolstack. So the number of current supported +virtio-mmio devices is 10. + +For the interrupts triggering use already existing on Arm +device-model hypercall. + +The toolstack should then insert the same amount of device nodes +into guest device-tree. + +Signed-off-by: Oleksandr Tyshchenko +Signed-off-by: Vikram Garhwal +Reviewed-by: Stefano Stabellini +--- + hw/arm/xen_arm.c | 29 +++++++++++++++++++++++++++++ + 1 file changed, 29 insertions(+) + +diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c +index 153cedfeb4..2012ee7aff 100644 +--- a/hw/arm/xen_arm.c ++++ b/hw/arm/xen_arm.c +@@ -25,6 +25,7 @@ + #include "qemu/error-report.h" + #include "qapi/qapi-commands-migration.h" + #include "hw/boards.h" ++#include "hw/irq.h" + #include "hw/sysbus.h" + #include "sysemu/block-backend.h" + #include "sysemu/tpm_backend.h" +@@ -55,6 +56,32 @@ struct XenArmState { + XenIOState *state; + }; + ++#define VIRTIO_MMIO_DEV_SIZE 0x200 ++ ++#define NR_VIRTIO_MMIO_DEVICES \ ++ (GUEST_VIRTIO_MMIO_SPI_LAST - GUEST_VIRTIO_MMIO_SPI_FIRST) ++ ++static void xen_set_irq(void *opaque, int irq, int level) ++{ ++ xendevicemodel_set_irq_level(xen_dmod, xen_domid, irq, level); ++} ++ ++static void xen_create_virtio_mmio_devices(XenArmState *xam) ++{ ++ int i; ++ ++ for (i = 0; i < NR_VIRTIO_MMIO_DEVICES; i++) { ++ hwaddr base = GUEST_VIRTIO_MMIO_BASE + i * VIRTIO_MMIO_DEV_SIZE; ++ qemu_irq irq = qemu_allocate_irq(xen_set_irq, NULL, ++ GUEST_VIRTIO_MMIO_SPI_FIRST + i); ++ ++ sysbus_create_simple("virtio-mmio", base, irq); ++ ++ DPRINTF("Created virtio-mmio device %d: irq %d base 0x%lx\n", ++ i, GUEST_VIRTIO_MMIO_SPI_FIRST + i, base); ++ } ++} ++ + void arch_handle_ioreq(XenIOState *state, ioreq_t *req) + { + hw_error("Invalid ioreq type 0x%x\n", req->type); +@@ -132,6 +159,8 @@ static void xen_arm_init(MachineState *machine) + return; + } + ++ xen_create_virtio_mmio_devices(xam); ++ + xen_enable_tpm(); + + return; +-- +2.17.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0015-xen_arm-Initialize-RAM-and-add-hi-low-memory-regions.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0015-xen_arm-Initialize-RAM-and-add-hi-low-memory-regions.patch new file mode 100644 index 00000000..7c2b272d --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0015-xen_arm-Initialize-RAM-and-add-hi-low-memory-regions.patch @@ -0,0 +1,105 @@ +From a284a53c5374e19ac37b884f2dd50293e7c8070e Mon Sep 17 00:00:00 2001 +From: Oleksandr Tyshchenko +Date: Sat, 30 Jul 2022 17:18:06 +0300 +Subject: [PATCH 15/16] xen_arm: Initialize RAM and add hi/low memory regions + +In order to use virtio backends we need to initialize RAM for the +xen-mapcache (which is responsible for mapping guest memory using foreign +mapping) to work. Calculate and add hi/low memory regions based on +machine->ram_size. + +Use the constants defined in public header arch-arm.h to be aligned with the +toolstack. + +The toolstack should then pass real ram_size using "-m" arg. +If "-m" is not given, create a QEMU machine without IOREQ, TPM and VIRTIO to +keep it usable for /etc/init.d/xencommons. + +Signed-off-by: Oleksandr Tyshchenko +Signed-off-by: Vikram Garhwal +Reviewed-by: Stefano Stabellini +--- + hw/arm/xen_arm.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ + 1 file changed, 46 insertions(+) + +diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c +index 2012ee7aff..fde919df29 100644 +--- a/hw/arm/xen_arm.c ++++ b/hw/arm/xen_arm.c +@@ -56,6 +56,8 @@ struct XenArmState { + XenIOState *state; + }; + ++static MemoryRegion ram_lo, ram_hi; ++ + #define VIRTIO_MMIO_DEV_SIZE 0x200 + + #define NR_VIRTIO_MMIO_DEVICES \ +@@ -82,6 +84,39 @@ static void xen_create_virtio_mmio_devices(XenArmState *xam) + } + } + ++static void xen_init_ram(MachineState *machine) ++{ ++ MemoryRegion *sysmem = get_system_memory(); ++ ram_addr_t block_len, ram_size[GUEST_RAM_BANKS]; ++ ++ if (machine->ram_size <= GUEST_RAM0_SIZE) { ++ ram_size[0] = machine->ram_size; ++ ram_size[1] = 0; ++ block_len = GUEST_RAM0_BASE + ram_size[0]; ++ } else { ++ ram_size[0] = GUEST_RAM0_SIZE; ++ ram_size[1] = machine->ram_size - GUEST_RAM0_SIZE; ++ block_len = GUEST_RAM1_BASE + ram_size[1]; ++ } ++ ++ memory_region_init_ram(&ram_memory, NULL, "xen.ram", block_len, ++ &error_fatal); ++ ++ memory_region_init_alias(&ram_lo, NULL, "xen.ram.lo", &ram_memory, ++ GUEST_RAM0_BASE, ram_size[0]); ++ memory_region_add_subregion(sysmem, GUEST_RAM0_BASE, &ram_lo); ++ DPRINTF("Initialized region xen.ram.lo: base 0x%llx size 0x%lx\n", ++ GUEST_RAM0_BASE, ram_size[0]); ++ ++ if (ram_size[1] > 0) { ++ memory_region_init_alias(&ram_hi, NULL, "xen.ram.hi", &ram_memory, ++ GUEST_RAM1_BASE, ram_size[1]); ++ memory_region_add_subregion(sysmem, GUEST_RAM1_BASE, &ram_hi); ++ DPRINTF("Initialized region xen.ram.hi: base 0x%llx size 0x%lx\n", ++ GUEST_RAM1_BASE, ram_size[1]); ++ } ++} ++ + void arch_handle_ioreq(XenIOState *state, ioreq_t *req) + { + hw_error("Invalid ioreq type 0x%x\n", req->type); +@@ -155,6 +190,14 @@ static void xen_arm_init(MachineState *machine) + + xam->state = g_new0(XenIOState, 1); + ++ if (machine->ram_size == 0) { ++ DPRINTF("ram_size not specified. QEMU machine will be started without" ++ " TPM, IOREQ and Virtio-MMIO backends\n"); ++ return; ++ } ++ ++ xen_init_ram(machine); ++ + if (xen_init_ioreq(xam->state, machine->smp.cpus)) { + return; + } +@@ -173,6 +216,9 @@ static void xen_arm_machine_class_init(ObjectClass *oc, void *data) + mc->desc = "Xen Para-virtualized PC"; + mc->init = xen_arm_init; + mc->max_cpus = 1; ++ /* Set explicitly here to make sure that real ram_size is passed */ ++ mc->default_ram_size = 0; ++ + machine_class_allow_dynamic_sysbus_dev(mc, TYPE_TPM_TIS_SYSBUS); + } + +-- +2.17.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0016-xen_arm-Add-accel-xen-and-drop-extra-interface-openi.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0016-xen_arm-Add-accel-xen-and-drop-extra-interface-openi.patch new file mode 100644 index 00000000..14f2e240 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-7.1/0016-xen_arm-Add-accel-xen-and-drop-extra-interface-openi.patch @@ -0,0 +1,79 @@ +From a730d5ea4a0445a8c694b56583dd06bd000fae74 Mon Sep 17 00:00:00 2001 +From: Vikram Garhwal +Date: Wed, 4 Jan 2023 23:05:25 +0000 +Subject: [PATCH 16/16] xen_arm: Add "accel = xen" and drop extra interface + openings + +In order to use virtio backends we need to make sure that Xen accelerator +is enabled (xen_enabled() returns true) as the memory/cache systems +check for xen_enabled() to perform specific actions. Without that +the xen-mapcache (which is needed for mapping guest memory) is not in use. + +Also drop extra interface opening as this is already done in xen-all.c +(so drop xen_init_ioreq() completely) and skip virtio/tpm initialization +if device emulation is not available. + +Signed-off-by: Oleksandr Tyshchenko +Signed-off-by: Vikram Garhwal +Reviewed-by: Stefano Stabellini +--- + hw/arm/xen_arm.c | 29 ++--------------------------- + 1 file changed, 2 insertions(+), 27 deletions(-) + +diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c +index fde919df29..4ac425a3c5 100644 +--- a/hw/arm/xen_arm.c ++++ b/hw/arm/xen_arm.c +@@ -137,30 +137,6 @@ void qmp_xen_set_global_dirty_log(bool enable, Error **errp) + { + } + +-static int xen_init_ioreq(XenIOState *state, unsigned int max_cpus) +-{ +- xen_dmod = xendevicemodel_open(0, 0); +- xen_xc = xc_interface_open(0, 0, 0); +- +- if (xen_xc == NULL) { +- perror("xen: can't open xen interface\n"); +- return -1; +- } +- +- xen_fmem = xenforeignmemory_open(0, 0); +- if (xen_fmem == NULL) { +- perror("xen: can't open xen fmem interface\n"); +- xc_interface_close(xen_xc); +- return -1; +- } +- +- xen_register_ioreq(state, max_cpus, xen_memory_listener); +- +- xenstore_record_dm_state(xenstore, "running"); +- +- return 0; +-} +- + static void xen_enable_tpm(void) + { + #ifdef CONFIG_TPM +@@ -198,9 +174,7 @@ static void xen_arm_init(MachineState *machine) + + xen_init_ram(machine); + +- if (xen_init_ioreq(xam->state, machine->smp.cpus)) { +- return; +- } ++ xen_register_ioreq(xam->state, machine->smp.cpus, xen_memory_listener); + + xen_create_virtio_mmio_devices(xam); + +@@ -218,6 +192,7 @@ static void xen_arm_machine_class_init(ObjectClass *oc, void *data) + mc->max_cpus = 1; + /* Set explicitly here to make sure that real ram_size is passed */ + mc->default_ram_size = 0; ++ mc->default_machine_opts = "accel=xen"; + + machine_class_allow_dynamic_sysbus_dev(mc, TYPE_TPM_TIS_SYSBUS); + } +-- +2.17.1 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx_2023%.bbappend b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx_2023%.bbappend index 3e93710c..5cb9f0d0 100644 --- a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx_2023%.bbappend +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx_2023%.bbappend @@ -1,5 +1,5 @@ require qemu-tpm.inc -require qemu-xen.inc +require qemu-xen_7.1.inc # We do not want QEMU, on the target to be configured with OpenGL -PACKAGECONFIG:remove:class-target:petalinux = "virglrenderer epoxy gtk+" +PACKAGECONFIG:remove:class-target = "virglrenderer epoxy gtk+" diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0001-xen-pt-fix-syntax-error-that-causes-FTBFS-in-some-co.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0001-xen-pt-fix-syntax-error-that-causes-FTBFS-in-some-co.patch deleted file mode 100644 index 99eaeeaf..00000000 --- a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0001-xen-pt-fix-syntax-error-that-causes-FTBFS-in-some-co.patch +++ /dev/null @@ -1,40 +0,0 @@ -From ba24456b93a205b728475d5f0880f3ec495e383a Mon Sep 17 00:00:00 2001 -From: Chuck Zmudzinski -Date: Mon, 31 Oct 2022 17:35:52 -0400 -Subject: [PATCH] xen/pt: fix syntax error that causes FTBFS in some - configurations -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -When Qemu is built with --enable-xen and --disable-xen-pci-passthrough -and the target os is linux, the build fails with: - -meson.build:3477:2: ERROR: File xen_pt_stub.c does not exist. - -Fixes: 582ea95f5f93 ("meson: convert hw/xen") - -Signed-off-by: Chuck Zmudzinski -Reviewed-by: Philippe Mathieu-Daudé -Message-Id: <5f1342a13c09af77b1a7b0aeaba5955bcea89731.1667242033.git.brchuckz@aol.com> -Signed-off-by: Laurent Vivier ---- - hw/xen/meson.build | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/hw/xen/meson.build b/hw/xen/meson.build -index 08dc1f6857..ae0ace3046 100644 ---- a/hw/xen/meson.build -+++ b/hw/xen/meson.build -@@ -18,7 +18,7 @@ if have_xen_pci_passthrough - 'xen_pt_msi.c', - )) - else -- xen_specific_ss.add('xen_pt_stub.c') -+ xen_specific_ss.add(files('xen_pt_stub.c')) - endif - - specific_ss.add_all(when: ['CONFIG_XEN', xen], if_true: xen_specific_ss) --- -2.17.0 - diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0001-xen-when-unplugging-emulated-devices-skip-virtio-dev.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0001-xen-when-unplugging-emulated-devices-skip-virtio-dev.patch deleted file mode 100644 index 71dfb3be..00000000 --- a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0001-xen-when-unplugging-emulated-devices-skip-virtio-dev.patch +++ /dev/null @@ -1,51 +0,0 @@ -From e2b85efc82bc26a838f666c8282528ee38cf6377 Mon Sep 17 00:00:00 2001 -From: Juergen Gross -Date: Tue, 16 Mar 2021 14:00:33 +0100 -Subject: [PATCH 1/8] xen: when unplugging emulated devices skip virtio devices - -Virtio devices should never be unplugged at boot time, as they are -similar to pci passthrough devices. - -Signed-off-by: Juergen Gross -Acked-by: Stefano Stabellini ---- - hw/i386/xen/xen_platform.c | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -diff --git a/hw/i386/xen/xen_platform.c b/hw/i386/xen/xen_platform.c -index a64265cca0..39bbb12675 100644 ---- a/hw/i386/xen/xen_platform.c -+++ b/hw/i386/xen/xen_platform.c -@@ -30,6 +30,7 @@ - #include "hw/pci/pci.h" - #include "hw/xen/xen_common.h" - #include "migration/vmstate.h" -+#include "hw/virtio/virtio-bus.h" - #include "hw/xen/xen-legacy-backend.h" - #include "trace.h" - #include "sysemu/xen.h" -@@ -114,7 +115,8 @@ static void unplug_nic(PCIBus *b, PCIDevice *d, void *o) - /* We have to ignore passthrough devices */ - if (pci_get_word(d->config + PCI_CLASS_DEVICE) == - PCI_CLASS_NETWORK_ETHERNET -- && strcmp(d->name, "xen-pci-passthrough") != 0) { -+ && strcmp(d->name, "xen-pci-passthrough") != 0 -+ && !qdev_get_child_bus(&d->qdev, TYPE_VIRTIO_BUS)) { - object_unparent(OBJECT(d)); - } - } -@@ -191,6 +193,11 @@ static void unplug_disks(PCIBus *b, PCIDevice *d, void *opaque) - return; - } - -+ /* Ignore virtio devices */ -+ if (qdev_get_child_bus(&d->qdev, TYPE_VIRTIO_BUS)) { -+ return; -+ } -+ - switch (pci_get_word(d->config + PCI_CLASS_DEVICE)) { - case PCI_CLASS_STORAGE_IDE: - pci_xen_ide_unplug(DEVICE(d), aux); --- -2.25.1 - diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0001-xen_common-return-error-from-xen_create_ioreq_server.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0001-xen_common-return-error-from-xen_create_ioreq_server.patch deleted file mode 100644 index d4349b1d..00000000 --- a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0001-xen_common-return-error-from-xen_create_ioreq_server.patch +++ /dev/null @@ -1,55 +0,0 @@ -From ef4d512aff004c62d550cdd64329c6c1acd0f217 Mon Sep 17 00:00:00 2001 -From: Stefano Stabellini -Date: Fri, 1 Jul 2022 18:48:03 -0700 -Subject: [PATCH 01/16] xen_common: return error from xen_create_ioreq_server - -Signed-off-by: Stefano Stabellini ---- - include/hw/xen/xen_common.h | 12 +++++++----- - 1 file changed, 7 insertions(+), 5 deletions(-) - -diff --git a/include/hw/xen/xen_common.h b/include/hw/xen/xen_common.h -index 77ce17d8a4..c2d2f36bde 100644 ---- a/include/hw/xen/xen_common.h -+++ b/include/hw/xen/xen_common.h -@@ -467,8 +467,8 @@ static inline void xen_unmap_pcidev(domid_t dom, - { - } - --static inline void xen_create_ioreq_server(domid_t dom, -- ioservid_t *ioservid) -+static inline int xen_create_ioreq_server(domid_t dom, -+ ioservid_t *ioservid) - { - } - -@@ -600,8 +600,8 @@ static inline void xen_unmap_pcidev(domid_t dom, - PCI_FUNC(pci_dev->devfn)); - } - --static inline void xen_create_ioreq_server(domid_t dom, -- ioservid_t *ioservid) -+static inline int xen_create_ioreq_server(domid_t dom, -+ ioservid_t *ioservid) - { - int rc = xendevicemodel_create_ioreq_server(xen_dmod, dom, - HVM_IOREQSRV_BUFIOREQ_ATOMIC, -@@ -609,12 +609,14 @@ static inline void xen_create_ioreq_server(domid_t dom, - - if (rc == 0) { - trace_xen_ioreq_server_create(*ioservid); -- return; -+ return rc; - } - - *ioservid = 0; - use_default_ioreq_server = true; - trace_xen_default_ioreq_server(); -+ -+ return rc; - } - - static inline void xen_destroy_ioreq_server(domid_t dom, --- -2.17.1 - diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0002-xen-add-pseudo-RAM-region-for-grant-mappings.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0002-xen-add-pseudo-RAM-region-for-grant-mappings.patch deleted file mode 100644 index 8facb189..00000000 --- a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0002-xen-add-pseudo-RAM-region-for-grant-mappings.patch +++ /dev/null @@ -1,252 +0,0 @@ -From e18daac2f6d3f60c8217f44189a91cf8240a591f Mon Sep 17 00:00:00 2001 -From: Juergen Gross -Date: Thu, 20 May 2021 11:19:58 +0200 -Subject: [PATCH 2/8] xen: add pseudo RAM region for grant mappings - -Add a memory region which can be used to automatically map granted -memory. It is starting at 0x8000000000000000ULL in order to be able to -distinguish it from normal RAM. - -For this reason the xen.ram memory region is expanded, which has no -further impact as it is used just as a container of the real RAM -regions and now the grant region. - -Signed-off-by: Juergen Gross -Signed-off-by: Vikram Garhwal -Acked-by: Stefano Stabellini ---- - hw/i386/xen/xen-hvm.c | 3 ++ - hw/xen/xen-hvm-common.c | 4 +-- - hw/xen/xen-mapcache.c | 28 +++++++++++++++ - include/exec/ram_addr.h | 1 + - include/hw/xen/xen-hvm-common.h | 2 ++ - include/hw/xen/xen_pvdev.h | 3 ++ - include/sysemu/xen-mapcache.h | 3 ++ - softmmu/physmem.c | 61 ++++++++++++++++++++------------- - 8 files changed, 80 insertions(+), 25 deletions(-) - -diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c -index 36d87555a9..2dcc2e1179 100644 ---- a/hw/i386/xen/xen-hvm.c -+++ b/hw/i386/xen/xen-hvm.c -@@ -171,6 +171,9 @@ static void xen_ram_init(PCMachineState *pcms, - x86ms->above_4g_mem_size); - memory_region_add_subregion(sysmem, 0x100000000ULL, &ram_hi); - } -+ -+ /* Add grant mappings as a pseudo RAM region. */ -+ ram_grants = *xen_init_grant_ram(); - } - - static XenPhysmap *get_physmapping(hwaddr start_addr, ram_addr_t size) -diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c -index 7e7d23397f..abd6e379d3 100644 ---- a/hw/xen/xen-hvm-common.c -+++ b/hw/xen/xen-hvm-common.c -@@ -10,7 +10,7 @@ - #include "hw/boards.h" - #include "hw/xen/arch_hvm.h" - --MemoryRegion ram_memory; -+MemoryRegion ram_memory, ram_grants; - - MemoryListener xen_io_listener = { - .name = "xen-io", -@@ -742,7 +742,7 @@ void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr, - return; - } - -- if (mr == &ram_memory) { -+ if (mr == &ram_memory || mr == &ram_grants) { - return; - } - -diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c -index a2f93096e7..0b75f1633a 100644 ---- a/hw/xen/xen-mapcache.c -+++ b/hw/xen/xen-mapcache.c -@@ -14,7 +14,10 @@ - - #include - -+#include "hw/xen/xen-hvm-common.h" - #include "hw/xen/xen-legacy-backend.h" -+#include "hw/xen/xen_pvdev.h" -+ - #include "qemu/bitmap.h" - - #include "sysemu/runstate.h" -@@ -597,3 +600,28 @@ uint8_t *xen_replace_cache_entry(hwaddr old_phys_addr, - mapcache_unlock(); - return p; - } -+ -+MemoryRegion *xen_init_grant_ram(void) -+{ -+ RAMBlock *block; -+ -+ memory_region_init(&ram_grants, NULL, "xen.grants", -+ XEN_MAX_VIRTIO_GRANTS * XC_PAGE_SIZE); -+ block = g_malloc0(sizeof(*block)); -+ block->mr = &ram_grants; -+ block->used_length = XEN_MAX_VIRTIO_GRANTS * XC_PAGE_SIZE; -+ block->max_length = XEN_MAX_VIRTIO_GRANTS * XC_PAGE_SIZE; -+ block->fd = -1; -+ block->page_size = XC_PAGE_SIZE; -+ block->host = (void *)XEN_GRANT_ADDR_OFF; -+ block->offset = XEN_GRANT_ADDR_OFF; -+ block->flags = RAM_PREALLOC; -+ ram_grants.ram_block = block; -+ ram_grants.ram = true; -+ ram_grants.terminates = true; -+ ram_block_add_list(block); -+ memory_region_add_subregion(get_system_memory(), XEN_GRANT_ADDR_OFF, -+ &ram_grants); -+ -+ return &ram_grants; -+} -diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h -index f3e0c78161..e60b055867 100644 ---- a/include/exec/ram_addr.h -+++ b/include/exec/ram_addr.h -@@ -137,6 +137,7 @@ void qemu_ram_free(RAMBlock *block); - int qemu_ram_resize(RAMBlock *block, ram_addr_t newsize, Error **errp); - - void qemu_ram_msync(RAMBlock *block, ram_addr_t start, ram_addr_t length); -+void ram_block_add_list(RAMBlock *new_block); - - /* Clear whole block of mem */ - static inline void qemu_ram_block_writeback(RAMBlock *block) -diff --git a/include/hw/xen/xen-hvm-common.h b/include/hw/xen/xen-hvm-common.h -index 2979f84ee2..6f7cc05d38 100644 ---- a/include/hw/xen/xen-hvm-common.h -+++ b/include/hw/xen/xen-hvm-common.h -@@ -16,6 +16,8 @@ - #include - - extern MemoryRegion ram_memory; -+ -+extern MemoryRegion ram_grants; - extern MemoryListener xen_io_listener; - extern DeviceListener xen_device_listener; - -diff --git a/include/hw/xen/xen_pvdev.h b/include/hw/xen/xen_pvdev.h -index 7cd4bc2b82..36cd3ec1d4 100644 ---- a/include/hw/xen/xen_pvdev.h -+++ b/include/hw/xen/xen_pvdev.h -@@ -78,4 +78,7 @@ int xen_pv_send_notify(struct XenLegacyDevice *xendev); - void xen_pv_printf(struct XenLegacyDevice *xendev, int msg_level, - const char *fmt, ...) G_GNUC_PRINTF(3, 4); - -+#define XEN_GRANT_ADDR_OFF 0x8000000000000000ULL -+#define XEN_MAX_VIRTIO_GRANTS 65536 -+ - #endif /* QEMU_HW_XEN_PVDEV_H */ -diff --git a/include/sysemu/xen-mapcache.h b/include/sysemu/xen-mapcache.h -index c8e7c2f6cf..f4bedb1c11 100644 ---- a/include/sysemu/xen-mapcache.h -+++ b/include/sysemu/xen-mapcache.h -@@ -10,6 +10,7 @@ - #define XEN_MAPCACHE_H - - #include "exec/cpu-common.h" -+#include "exec/ram_addr.h" - - typedef hwaddr (*phys_offset_to_gaddr_t)(hwaddr phys_offset, - ram_addr_t size); -@@ -25,6 +26,8 @@ void xen_invalidate_map_cache(void); - uint8_t *xen_replace_cache_entry(hwaddr old_phys_addr, - hwaddr new_phys_addr, - hwaddr size); -+MemoryRegion *xen_init_grant_ram(void); -+ - #else - - static inline void xen_map_cache_init(phys_offset_to_gaddr_t f, -diff --git a/softmmu/physmem.c b/softmmu/physmem.c -index dc3c3e5f2e..63ba5f7495 100644 ---- a/softmmu/physmem.c -+++ b/softmmu/physmem.c -@@ -1971,12 +1971,46 @@ static void dirty_memory_extend(ram_addr_t old_ram_size, - } - } - -+static void ram_block_add_list_locked(RAMBlock *new_block) -+ { -+ RAMBlock *block; -+ RAMBlock *last_block = NULL; -+ -+ /* Keep the list sorted from biggest to smallest block. Unlike QTAILQ, -+ * QLIST (which has an RCU-friendly variant) does not have insertion at -+ * tail, so save the last element in last_block. -+ */ -+ RAMBLOCK_FOREACH(block) { -+ last_block = block; -+ if (block->max_length < new_block->max_length) { -+ break; -+ } -+ } -+ if (block) { -+ QLIST_INSERT_BEFORE_RCU(block, new_block, next); -+ } else if (last_block) { -+ QLIST_INSERT_AFTER_RCU(last_block, new_block, next); -+ } else { /* list is empty */ -+ QLIST_INSERT_HEAD_RCU(&ram_list.blocks, new_block, next); -+ } -+ ram_list.mru_block = NULL; -+ -+ /* Write list before version */ -+ smp_wmb(); -+ ram_list.version++; -+} -+ -+void ram_block_add_list(RAMBlock *new_block) -+{ -+ qemu_mutex_lock_ramlist(); -+ ram_block_add_list_locked(new_block); -+ qemu_mutex_unlock_ramlist(); -+} -+ - static void ram_block_add(RAMBlock *new_block, Error **errp) - { - const bool noreserve = qemu_ram_is_noreserve(new_block); - const bool shared = qemu_ram_is_shared(new_block); -- RAMBlock *block; -- RAMBlock *last_block = NULL; - ram_addr_t old_ram_size, new_ram_size; - Error *err = NULL; - -@@ -2014,28 +2048,9 @@ static void ram_block_add(RAMBlock *new_block, Error **errp) - if (new_ram_size > old_ram_size) { - dirty_memory_extend(old_ram_size, new_ram_size); - } -- /* Keep the list sorted from biggest to smallest block. Unlike QTAILQ, -- * QLIST (which has an RCU-friendly variant) does not have insertion at -- * tail, so save the last element in last_block. -- */ -- RAMBLOCK_FOREACH(block) { -- last_block = block; -- if (block->max_length < new_block->max_length) { -- break; -- } -- } -- if (block) { -- QLIST_INSERT_BEFORE_RCU(block, new_block, next); -- } else if (last_block) { -- QLIST_INSERT_AFTER_RCU(last_block, new_block, next); -- } else { /* list is empty */ -- QLIST_INSERT_HEAD_RCU(&ram_list.blocks, new_block, next); -- } -- ram_list.mru_block = NULL; - -- /* Write list before version */ -- smp_wmb(); -- ram_list.version++; -+ ram_block_add_list_locked(new_block); -+ - qemu_mutex_unlock_ramlist(); - - cpu_physical_memory_set_dirty_range(new_block->offset, --- -2.25.1 - diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0002-xen-mapcache-move-xen-mapcache.c-to-hw-xen.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0002-xen-mapcache-move-xen-mapcache.c-to-hw-xen.patch deleted file mode 100644 index 35ca6df4..00000000 --- a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0002-xen-mapcache-move-xen-mapcache.c-to-hw-xen.patch +++ /dev/null @@ -1,88 +0,0 @@ -From 423468bdb3728154e95af18ef755bc75c5d59a3a Mon Sep 17 00:00:00 2001 -From: Vikram Garhwal -Date: Thu, 30 Jun 2022 18:19:50 -0700 -Subject: [PATCH 02/16] xen-mapcache: move xen-mapcache.c to hw/xen - -xen-mapcache.c contains common functions which are useful for Xen on ARM -IOREQ handling. Moving it out of i386 to hw/xen for commong access. - -Signed-off-by: Vikram Garhwal -Reviewed-by: Stefano Stabellini -Signed-off-by: Stefano Stabellini ---- - hw/i386/meson.build | 1 + - hw/i386/xen/meson.build | 1 - - hw/i386/xen/trace-events | 5 ----- - hw/xen/meson.build | 4 ++++ - hw/xen/trace-events | 5 +++++ - hw/{i386 => }/xen/xen-mapcache.c | 0 - 6 files changed, 10 insertions(+), 6 deletions(-) - rename hw/{i386 => }/xen/xen-mapcache.c (100%) - -diff --git a/hw/i386/meson.build b/hw/i386/meson.build -index 213e2e82b3..cfdbfdcbcb 100644 ---- a/hw/i386/meson.build -+++ b/hw/i386/meson.build -@@ -33,5 +33,6 @@ subdir('kvm') - subdir('xen') - - i386_ss.add_all(xenpv_ss) -+i386_ss.add_all(xen_ss) - - hw_arch += {'i386': i386_ss} -diff --git a/hw/i386/xen/meson.build b/hw/i386/xen/meson.build -index be84130300..2fcc46e6ca 100644 ---- a/hw/i386/xen/meson.build -+++ b/hw/i386/xen/meson.build -@@ -1,6 +1,5 @@ - i386_ss.add(when: 'CONFIG_XEN', if_true: files( - 'xen-hvm.c', -- 'xen-mapcache.c', - 'xen_apic.c', - 'xen_platform.c', - 'xen_pvdevice.c', -diff --git a/hw/i386/xen/trace-events b/hw/i386/xen/trace-events -index 5d6be61090..a0c89d91c4 100644 ---- a/hw/i386/xen/trace-events -+++ b/hw/i386/xen/trace-events -@@ -21,8 +21,3 @@ xen_map_resource_ioreq(uint32_t id, void *addr) "id: %u addr: %p" - cpu_ioreq_config_read(void *req, uint32_t sbdf, uint32_t reg, uint32_t size, uint32_t data) "I/O=%p sbdf=0x%x reg=%u size=%u data=0x%x" - cpu_ioreq_config_write(void *req, uint32_t sbdf, uint32_t reg, uint32_t size, uint32_t data) "I/O=%p sbdf=0x%x reg=%u size=%u data=0x%x" - --# xen-mapcache.c --xen_map_cache(uint64_t phys_addr) "want 0x%"PRIx64 --xen_remap_bucket(uint64_t index) "index 0x%"PRIx64 --xen_map_cache_return(void* ptr) "%p" -- -diff --git a/hw/xen/meson.build b/hw/xen/meson.build -index ae0ace3046..19d0637c46 100644 ---- a/hw/xen/meson.build -+++ b/hw/xen/meson.build -@@ -22,3 +22,7 @@ else - endif - - specific_ss.add_all(when: ['CONFIG_XEN', xen], if_true: xen_specific_ss) -+ -+xen_ss = ss.source_set() -+ -+xen_ss.add(when: 'CONFIG_XEN', if_true: files('xen-mapcache.c')) -diff --git a/hw/xen/trace-events b/hw/xen/trace-events -index 3da3fd8348..2c8f238f42 100644 ---- a/hw/xen/trace-events -+++ b/hw/xen/trace-events -@@ -41,3 +41,8 @@ xs_node_vprintf(char *path, char *value) "%s %s" - xs_node_vscanf(char *path, char *value) "%s %s" - xs_node_watch(char *path) "%s" - xs_node_unwatch(char *path) "%s" -+ -+# xen-mapcache.c -+xen_map_cache(uint64_t phys_addr) "want 0x%"PRIx64 -+xen_remap_bucket(uint64_t index) "index 0x%"PRIx64 -+xen_map_cache_return(void* ptr) "%p" -diff --git a/hw/i386/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c -similarity index 100% -rename from hw/i386/xen/xen-mapcache.c -rename to hw/xen/xen-mapcache.c --- -2.17.1 - diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0003-hw-i386-xen-rearrange-xen_hvm_init_pc.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0003-hw-i386-xen-rearrange-xen_hvm_init_pc.patch deleted file mode 100644 index 1113cf39..00000000 --- a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0003-hw-i386-xen-rearrange-xen_hvm_init_pc.patch +++ /dev/null @@ -1,106 +0,0 @@ -From 4472924c800e9dbf46e4c2432565d3e406b35d27 Mon Sep 17 00:00:00 2001 -From: Vikram Garhwal -Date: Fri, 1 Jul 2022 16:32:33 -0700 -Subject: [PATCH 03/16] hw/i386/xen: rearrange xen_hvm_init_pc - -Move references to: -- xen_get_vmport_regs_pfn -- xen_suspend_notifier -- xen_wakeup_notifier -- xen_ram_init - -towards the end of the function. This is done to keep the the common -ioreq functions in one place which will be moved to new function in next -patch in order to make it useful to ARM machines also. - -Signed-off-by: Vikram Garhwal -Signed-off-by: Stefano Stabellini -Reviewed-by: Stefano Stabellini ---- - hw/i386/xen/xen-hvm.c | 49 ++++++++++++++++++++++--------------------- - 1 file changed, 25 insertions(+), 24 deletions(-) - -diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c -index e4293d6d66..b27484ad22 100644 ---- a/hw/i386/xen/xen-hvm.c -+++ b/hw/i386/xen/xen-hvm.c -@@ -1416,12 +1416,6 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory) - state->exit.notify = xen_exit_notifier; - qemu_add_exit_notifier(&state->exit); - -- state->suspend.notify = xen_suspend_notifier; -- qemu_register_suspend_notifier(&state->suspend); -- -- state->wakeup.notify = xen_wakeup_notifier; -- qemu_register_wakeup_notifier(&state->wakeup); -- - /* - * Register wake-up support in QMP query-current-machine API - */ -@@ -1432,23 +1426,6 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory) - goto err; - } - -- rc = xen_get_vmport_regs_pfn(xen_xc, xen_domid, &ioreq_pfn); -- if (!rc) { -- DPRINTF("shared vmport page at pfn %lx\n", ioreq_pfn); -- state->shared_vmport_page = -- xenforeignmemory_map(xen_fmem, xen_domid, PROT_READ|PROT_WRITE, -- 1, &ioreq_pfn, NULL); -- if (state->shared_vmport_page == NULL) { -- error_report("map shared vmport IO page returned error %d handle=%p", -- errno, xen_xc); -- goto err; -- } -- } else if (rc != -ENOSYS) { -- error_report("get vmport regs pfn returned error %d, rc=%d", -- errno, rc); -- goto err; -- } -- - /* Note: cpus is empty at this point in init */ - state->cpu_by_vcpu_id = g_new0(CPUState *, max_cpus); - -@@ -1486,7 +1463,6 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory) - #else - xen_map_cache_init(NULL, state); - #endif -- xen_ram_init(pcms, ms->ram_size, ram_memory); - - qemu_add_vm_change_state_handler(xen_hvm_change_state_handler, state); - -@@ -1513,6 +1489,31 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory) - QLIST_INIT(&xen_physmap); - xen_read_physmap(state); - -+ state->suspend.notify = xen_suspend_notifier; -+ qemu_register_suspend_notifier(&state->suspend); -+ -+ state->wakeup.notify = xen_wakeup_notifier; -+ qemu_register_wakeup_notifier(&state->wakeup); -+ -+ rc = xen_get_vmport_regs_pfn(xen_xc, xen_domid, &ioreq_pfn); -+ if (!rc) { -+ DPRINTF("shared vmport page at pfn %lx\n", ioreq_pfn); -+ state->shared_vmport_page = -+ xenforeignmemory_map(xen_fmem, xen_domid, PROT_READ|PROT_WRITE, -+ 1, &ioreq_pfn, NULL); -+ if (state->shared_vmport_page == NULL) { -+ error_report("map shared vmport IO page returned error %d handle=%p", -+ errno, xen_xc); -+ goto err; -+ } -+ } else if (rc != -ENOSYS) { -+ error_report("get vmport regs pfn returned error %d, rc=%d", -+ errno, rc); -+ goto err; -+ } -+ -+ xen_ram_init(pcms, ms->ram_size, ram_memory); -+ - /* Disable ACPI build because Xen handles it */ - pcms->acpi_build_enabled = false; - --- -2.17.1 - diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0003-softmmu-let-qemu_map_ram_ptr-use-qemu_ram_ptr_length.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0003-softmmu-let-qemu_map_ram_ptr-use-qemu_ram_ptr_length.patch deleted file mode 100644 index bff815bc..00000000 --- a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0003-softmmu-let-qemu_map_ram_ptr-use-qemu_ram_ptr_length.patch +++ /dev/null @@ -1,113 +0,0 @@ -From cb4be1f7185c5974523c764f3f6efe3af6633d71 Mon Sep 17 00:00:00 2001 -From: Juergen Gross -Date: Thu, 20 May 2021 11:54:48 +0200 -Subject: [PATCH 3/8] softmmu: let qemu_map_ram_ptr() use qemu_ram_ptr_length() - -qemu_map_ram_ptr() and qemu_ram_ptr_length() share quite some code, so -modify qemu_ram_ptr_length() a little bit and use it for -qemu_map_ram_ptr(), too. - -Signed-off-by: Juergen Gross -Acked-by: Stefano Stabellini ---- - softmmu/physmem.c | 56 ++++++++++++++++++----------------------------- - 1 file changed, 21 insertions(+), 35 deletions(-) - -diff --git a/softmmu/physmem.c b/softmmu/physmem.c -index 63ba5f7495..439a53a1be 100644 ---- a/softmmu/physmem.c -+++ b/softmmu/physmem.c -@@ -2306,38 +2306,7 @@ void qemu_ram_remap(ram_addr_t addr, ram_addr_t length) - } - #endif /* !_WIN32 */ - --/* Return a host pointer to ram allocated with qemu_ram_alloc. -- * This should not be used for general purpose DMA. Use address_space_map -- * or address_space_rw instead. For local memory (e.g. video ram) that the -- * device owns, use memory_region_get_ram_ptr. -- * -- * Called within RCU critical section. -- */ --void *qemu_map_ram_ptr(RAMBlock *ram_block, ram_addr_t addr) --{ -- RAMBlock *block = ram_block; -- -- if (block == NULL) { -- block = qemu_get_ram_block(addr); -- addr -= block->offset; -- } -- -- if (xen_enabled() && block->host == NULL) { -- /* We need to check if the requested address is in the RAM -- * because we don't want to map the entire memory in QEMU. -- * In that case just map until the end of the page. -- */ -- if (block->offset == 0) { -- return xen_map_cache(addr, 0, 0, false); -- } -- -- block->host = xen_map_cache(block->offset, block->max_length, 1, false); -- } -- return ramblock_ptr(block, addr); --} -- --/* Return a host pointer to guest's ram. Similar to qemu_map_ram_ptr -- * but takes a size argument. -+/* Return a host pointer to guest's ram. - * - * Called within RCU critical section. - */ -@@ -2345,7 +2314,9 @@ static void *qemu_ram_ptr_length(RAMBlock *ram_block, ram_addr_t addr, - hwaddr *size, bool lock) - { - RAMBlock *block = ram_block; -- if (*size == 0) { -+ hwaddr len = 0; -+ -+ if (size && *size == 0) { - return NULL; - } - -@@ -2353,7 +2324,10 @@ static void *qemu_ram_ptr_length(RAMBlock *ram_block, ram_addr_t addr, - block = qemu_get_ram_block(addr); - addr -= block->offset; - } -- *size = MIN(*size, block->max_length - addr); -+ if (size) { -+ *size = MIN(*size, block->max_length - addr); -+ len = *size; -+ } - - if (xen_enabled() && block->host == NULL) { - /* We need to check if the requested address is in the RAM -@@ -2361,7 +2335,7 @@ static void *qemu_ram_ptr_length(RAMBlock *ram_block, ram_addr_t addr, - * In that case just map the requested area. - */ - if (block->offset == 0) { -- return xen_map_cache(addr, *size, lock, lock); -+ return xen_map_cache(addr, len, lock, lock); - } - - block->host = xen_map_cache(block->offset, block->max_length, 1, lock); -@@ -2370,6 +2344,18 @@ static void *qemu_ram_ptr_length(RAMBlock *ram_block, ram_addr_t addr, - return ramblock_ptr(block, addr); - } - -+/* Return a host pointer to ram allocated with qemu_ram_alloc. -+ * This should not be used for general purpose DMA. Use address_space_map -+ * or address_space_rw instead. For local memory (e.g. video ram) that the -+ * device owns, use memory_region_get_ram_ptr. -+ * -+ * Called within RCU critical section. -+ */ -+void *qemu_map_ram_ptr(RAMBlock *ram_block, ram_addr_t addr) -+{ -+ return qemu_ram_ptr_length(ram_block, addr, NULL, false); -+} -+ - /* Return the offset of a hostpointer within a ramblock */ - ram_addr_t qemu_ram_block_host_offset(RAMBlock *rb, void *host) - { --- -2.25.1 - diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0004-xen-hvm-move-x86-specific-fields-out-of-XenIOState.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0004-xen-hvm-move-x86-specific-fields-out-of-XenIOState.patch deleted file mode 100644 index 4337e0c8..00000000 --- a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0004-xen-hvm-move-x86-specific-fields-out-of-XenIOState.patch +++ /dev/null @@ -1,180 +0,0 @@ -From 2a01fa06d267f68148d3a6df50675edfe090601a Mon Sep 17 00:00:00 2001 -From: Stefano Stabellini -Date: Fri, 1 Jul 2022 18:16:52 -0700 -Subject: [PATCH 04/16] xen-hvm: move x86-specific fields out of XenIOState - -Move: -- shared_vmport_page -- log_for_dirtybit -- dirty_bitmap -- suspend -- wakeup - -out of XenIOState as they are only used on x86, especially the ones -related to dirty logging. - -Remove free_phys_offset that was unused. - -Signed-off-by: Stefano Stabellini ---- - hw/i386/xen/xen-hvm.c | 58 ++++++++++++++++++++----------------------- - 1 file changed, 27 insertions(+), 31 deletions(-) - -diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c -index b27484ad22..225cfdf8b7 100644 ---- a/hw/i386/xen/xen-hvm.c -+++ b/hw/i386/xen/xen-hvm.c -@@ -73,6 +73,7 @@ struct shared_vmport_iopage { - }; - typedef struct shared_vmport_iopage shared_vmport_iopage_t; - #endif -+static shared_vmport_iopage_t *shared_vmport_page; - - static inline uint32_t xen_vcpu_eport(shared_iopage_t *shared_page, int i) - { -@@ -95,6 +96,11 @@ typedef struct XenPhysmap { - } XenPhysmap; - - static QLIST_HEAD(, XenPhysmap) xen_physmap; -+static const XenPhysmap *log_for_dirtybit = NULL; -+/* Buffer used by xen_sync_dirty_bitmap */ -+static unsigned long *dirty_bitmap = NULL; -+static Notifier suspend; -+static Notifier wakeup; - - typedef struct XenPciDevice { - PCIDevice *pci_dev; -@@ -105,7 +111,6 @@ typedef struct XenPciDevice { - typedef struct XenIOState { - ioservid_t ioservid; - shared_iopage_t *shared_page; -- shared_vmport_iopage_t *shared_vmport_page; - buffered_iopage_t *buffered_io_page; - xenforeignmemory_resource_handle *fres; - QEMUTimer *buffered_io_timer; -@@ -125,14 +130,8 @@ typedef struct XenIOState { - MemoryListener io_listener; - QLIST_HEAD(, XenPciDevice) dev_list; - DeviceListener device_listener; -- hwaddr free_phys_offset; -- const XenPhysmap *log_for_dirtybit; -- /* Buffer used by xen_sync_dirty_bitmap */ -- unsigned long *dirty_bitmap; - - Notifier exit; -- Notifier suspend; -- Notifier wakeup; - } XenIOState; - - /* Xen specific function for piix pci */ -@@ -462,10 +461,10 @@ static int xen_remove_from_physmap(XenIOState *state, - } - - QLIST_REMOVE(physmap, list); -- if (state->log_for_dirtybit == physmap) { -- state->log_for_dirtybit = NULL; -- g_free(state->dirty_bitmap); -- state->dirty_bitmap = NULL; -+ if (log_for_dirtybit == physmap) { -+ log_for_dirtybit = NULL; -+ g_free(dirty_bitmap); -+ dirty_bitmap = NULL; - } - g_free(physmap); - -@@ -626,16 +625,16 @@ static void xen_sync_dirty_bitmap(XenIOState *state, - return; - } - -- if (state->log_for_dirtybit == NULL) { -- state->log_for_dirtybit = physmap; -- state->dirty_bitmap = g_new(unsigned long, bitmap_size); -- } else if (state->log_for_dirtybit != physmap) { -+ if (log_for_dirtybit == NULL) { -+ log_for_dirtybit = physmap; -+ dirty_bitmap = g_new(unsigned long, bitmap_size); -+ } else if (log_for_dirtybit != physmap) { - /* Only one range for dirty bitmap can be tracked. */ - return; - } - - rc = xen_track_dirty_vram(xen_domid, start_addr >> TARGET_PAGE_BITS, -- npages, state->dirty_bitmap); -+ npages, dirty_bitmap); - if (rc < 0) { - #ifndef ENODATA - #define ENODATA ENOENT -@@ -650,7 +649,7 @@ static void xen_sync_dirty_bitmap(XenIOState *state, - } - - for (i = 0; i < bitmap_size; i++) { -- unsigned long map = state->dirty_bitmap[i]; -+ unsigned long map = dirty_bitmap[i]; - while (map != 0) { - j = ctzl(map); - map &= ~(1ul << j); -@@ -676,12 +675,10 @@ static void xen_log_start(MemoryListener *listener, - static void xen_log_stop(MemoryListener *listener, MemoryRegionSection *section, - int old, int new) - { -- XenIOState *state = container_of(listener, XenIOState, memory_listener); -- - if (old & ~new & (1 << DIRTY_MEMORY_VGA)) { -- state->log_for_dirtybit = NULL; -- g_free(state->dirty_bitmap); -- state->dirty_bitmap = NULL; -+ log_for_dirtybit = NULL; -+ g_free(dirty_bitmap); -+ dirty_bitmap = NULL; - /* Disable dirty bit tracking */ - xen_track_dirty_vram(xen_domid, 0, 0, NULL); - } -@@ -1021,9 +1018,9 @@ static void handle_vmport_ioreq(XenIOState *state, ioreq_t *req) - { - vmware_regs_t *vmport_regs; - -- assert(state->shared_vmport_page); -+ assert(shared_vmport_page); - vmport_regs = -- &state->shared_vmport_page->vcpu_vmport_regs[state->send_vcpu]; -+ &shared_vmport_page->vcpu_vmport_regs[state->send_vcpu]; - QEMU_BUILD_BUG_ON(sizeof(*req) < sizeof(*vmport_regs)); - - current_cpu = state->cpu_by_vcpu_id[state->send_vcpu]; -@@ -1468,7 +1465,6 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory) - - state->memory_listener = xen_memory_listener; - memory_listener_register(&state->memory_listener, &address_space_memory); -- state->log_for_dirtybit = NULL; - - state->io_listener = xen_io_listener; - memory_listener_register(&state->io_listener, &address_space_io); -@@ -1489,19 +1485,19 @@ void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory) - QLIST_INIT(&xen_physmap); - xen_read_physmap(state); - -- state->suspend.notify = xen_suspend_notifier; -- qemu_register_suspend_notifier(&state->suspend); -+ suspend.notify = xen_suspend_notifier; -+ qemu_register_suspend_notifier(&suspend); - -- state->wakeup.notify = xen_wakeup_notifier; -- qemu_register_wakeup_notifier(&state->wakeup); -+ wakeup.notify = xen_wakeup_notifier; -+ qemu_register_wakeup_notifier(&wakeup); - - rc = xen_get_vmport_regs_pfn(xen_xc, xen_domid, &ioreq_pfn); - if (!rc) { - DPRINTF("shared vmport page at pfn %lx\n", ioreq_pfn); -- state->shared_vmport_page = -+ shared_vmport_page = - xenforeignmemory_map(xen_fmem, xen_domid, PROT_READ|PROT_WRITE, - 1, &ioreq_pfn, NULL); -- if (state->shared_vmport_page == NULL) { -+ if (shared_vmport_page == NULL) { - error_report("map shared vmport IO page returned error %d handle=%p", - errno, xen_xc); - goto err; --- -2.17.1 - diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0004-xen-let-xen_ram_addr_from_mapcache-return-1-in-case-.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0004-xen-let-xen_ram_addr_from_mapcache-return-1-in-case-.patch deleted file mode 100644 index 25dc0ae0..00000000 --- a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0004-xen-let-xen_ram_addr_from_mapcache-return-1-in-case-.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 7dfa8828bd2e61fc5bf2bf6294aad16b2bf4ff8a Mon Sep 17 00:00:00 2001 -From: Juergen Gross -Date: Thu, 20 May 2021 13:31:32 +0200 -Subject: [PATCH 4/8] xen: let xen_ram_addr_from_mapcache() return -1 in case - of not found entry - -Today xen_ram_addr_from_mapcache() will either abort() or return 0 in -case it can't find a matching entry for a pointer value. Both cases -are bad, so change that to return an invalid address instead. - -Signed-off-by: Juergen Gross -Acked-by: Stefano Stabellini ---- - hw/xen/xen-mapcache.c | 12 +++--------- - 1 file changed, 3 insertions(+), 9 deletions(-) - -diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c -index 0b75f1633a..e53e7221f1 100644 ---- a/hw/xen/xen-mapcache.c -+++ b/hw/xen/xen-mapcache.c -@@ -405,13 +405,8 @@ ram_addr_t xen_ram_addr_from_mapcache(void *ptr) - } - } - if (!found) { -- fprintf(stderr, "%s, could not find %p\n", __func__, ptr); -- QTAILQ_FOREACH(reventry, &mapcache->locked_entries, next) { -- DPRINTF(" "TARGET_FMT_plx" -> %p is present\n", reventry->paddr_index, -- reventry->vaddr_req); -- } -- abort(); -- return 0; -+ mapcache_unlock(); -+ return RAM_ADDR_INVALID; - } - - entry = &mapcache->entry[paddr_index % mapcache->nr_buckets]; -@@ -419,8 +414,7 @@ ram_addr_t xen_ram_addr_from_mapcache(void *ptr) - entry = entry->next; - } - if (!entry) { -- DPRINTF("Trying to find address %p that is not in the mapcache!\n", ptr); -- raddr = 0; -+ raddr = RAM_ADDR_INVALID; - } else { - raddr = (reventry->paddr_index << MCACHE_BUCKET_SHIFT) + - ((unsigned long) ptr - (unsigned long) entry->vaddr_base); --- -2.25.1 - diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0005-memory-add-MemoryRegion-map-and-unmap-callbacks.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0005-memory-add-MemoryRegion-map-and-unmap-callbacks.patch deleted file mode 100644 index db6d8fe5..00000000 --- a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0005-memory-add-MemoryRegion-map-and-unmap-callbacks.patch +++ /dev/null @@ -1,150 +0,0 @@ -From bd32a130ca633eae7cf0f4ff0fa856004d413df0 Mon Sep 17 00:00:00 2001 -From: Juergen Gross -Date: Thu, 27 May 2021 15:27:55 +0200 -Subject: [PATCH 5/8] memory: add MemoryRegion map and unmap callbacks - -In order to support mapping and unmapping guest memory dynamically to -and from qemu during address_space_[un]map() operations add the map() -and unmap() callbacks to MemoryRegionOps. - -Those will be used e.g. for Xen grant mappings when performing guest -I/Os. - -Signed-off-by: Juergen Gross -Signed-off-by: Vikram Garhwal -Acked-by: Stefano Stabellini ---- - include/exec/memory.h | 19 +++++++++++++++++ - softmmu/physmem.c | 47 +++++++++++++++++++++++++++++++++---------- - 2 files changed, 55 insertions(+), 11 deletions(-) - -diff --git a/include/exec/memory.h b/include/exec/memory.h -index bfb1de8eea..19e2aac694 100644 ---- a/include/exec/memory.h -+++ b/include/exec/memory.h -@@ -245,6 +245,25 @@ struct MemoryRegionOps { - unsigned size, - MemTxAttrs attrs); - -+ /* Dynamically create mapping. @addr is the guest address to map; @plen -+ * is the pointer to the usable length of the buffer. -+ * @mr contents can be changed in case a new memory region is created for -+ * the mapping. -+ * Returns the buffer address for accessing the data. */ -+ void *(*map)(MemoryRegion **mr, -+ hwaddr addr, -+ hwaddr *plen, -+ bool is_write, -+ MemTxAttrs attrs); -+ -+ /* Unmap an area obtained via map() before. */ -+ void (*unmap)(MemoryRegion *mr, -+ void *buffer, -+ ram_addr_t addr, -+ hwaddr len, -+ bool is_write, -+ hwaddr access_len); -+ - enum device_endian endianness; - /* Guest-visible constraints: */ - struct { -diff --git a/softmmu/physmem.c b/softmmu/physmem.c -index 439a53a1be..2038240311 100644 ---- a/softmmu/physmem.c -+++ b/softmmu/physmem.c -@@ -3237,7 +3237,7 @@ void *address_space_map(AddressSpace *as, - hwaddr len = *plen; - hwaddr l, xlat; - MemoryRegion *mr; -- void *ptr; -+ void *ptr = NULL; - FlatView *fv; - - if (len == 0) { -@@ -3273,10 +3273,17 @@ void *address_space_map(AddressSpace *as, - - - memory_region_ref(mr); -+ -+ if (mr->ops && mr->ops->map) { -+ ptr = mr->ops->map(&mr, addr, plen, is_write, attrs); -+ } -+ - *plen = flatview_extend_translation(fv, addr, len, mr, xlat, - l, is_write, attrs); - fuzz_dma_read_cb(addr, *plen, mr); -- ptr = qemu_ram_ptr_length(mr->ram_block, xlat, plen, true); -+ if (ptr == NULL) { -+ ptr = qemu_ram_ptr_length(mr->ram_block, xlat, plen, true); -+ } - - return ptr; - } -@@ -3294,11 +3301,16 @@ void address_space_unmap(AddressSpace *as, void *buffer, hwaddr len, - - mr = memory_region_from_host(buffer, &addr1); - assert(mr != NULL); -- if (is_write) { -- invalidate_and_set_dirty(mr, addr1, access_len); -- } -- if (xen_enabled()) { -- xen_invalidate_map_cache_entry(buffer); -+ -+ if (mr->ops && mr->ops->unmap) { -+ mr->ops->unmap(mr, buffer, addr1, len, is_write, access_len); -+ } else { -+ if (is_write) { -+ invalidate_and_set_dirty(mr, addr1, access_len); -+ } -+ if (xen_enabled()) { -+ xen_invalidate_map_cache_entry(buffer); -+ } - } - memory_region_unref(mr); - return; -@@ -3370,10 +3382,17 @@ int64_t address_space_cache_init(MemoryRegionCache *cache, - * doing this if we found actual RAM, which behaves the same - * regardless of attributes; so UNSPECIFIED is fine. - */ -+ if (mr->ops && mr->ops->map) { -+ cache->ptr = mr->ops->map(&mr, addr, &l, is_write, -+ MEMTXATTRS_UNSPECIFIED); -+ } -+ - l = flatview_extend_translation(cache->fv, addr, len, mr, - cache->xlat, l, is_write, - MEMTXATTRS_UNSPECIFIED); -- cache->ptr = qemu_ram_ptr_length(mr->ram_block, cache->xlat, &l, true); -+ if (!cache->ptr) { -+ cache->ptr = qemu_ram_ptr_length(mr->ram_block, cache->xlat, &l, true); -+ } - } else { - cache->ptr = NULL; - } -@@ -3395,14 +3414,20 @@ void address_space_cache_invalidate(MemoryRegionCache *cache, - - void address_space_cache_destroy(MemoryRegionCache *cache) - { -- if (!cache->mrs.mr) { -+ MemoryRegion *mr = cache->mrs.mr; -+ -+ if (!mr) { - return; - } - -- if (xen_enabled()) { -+ if (mr->ops && mr->ops->unmap) { -+ mr->ops->unmap(mr, cache->ptr, cache->xlat, cache->len, -+ cache->is_write, cache->len); -+ } else if (xen_enabled()) { - xen_invalidate_map_cache_entry(cache->ptr); - } -- memory_region_unref(cache->mrs.mr); -+ -+ memory_region_unref(mr); - flatview_unref(cache->fv); - cache->mrs.mr = NULL; - cache->fv = NULL; --- -2.25.1 - diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0005-xen-hvm-create-arch_handle_ioreq-and-arch_xen_set_me.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0005-xen-hvm-create-arch_handle_ioreq-and-arch_xen_set_me.patch deleted file mode 100644 index 6b56a39e..00000000 --- a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0005-xen-hvm-create-arch_handle_ioreq-and-arch_xen_set_me.patch +++ /dev/null @@ -1,192 +0,0 @@ -From c38436434fc888ba8844d99eab451f9b734e5e5b Mon Sep 17 00:00:00 2001 -From: Stefano Stabellini -Date: Fri, 1 Jul 2022 19:34:39 -0700 -Subject: [PATCH 05/16] xen-hvm: create arch_handle_ioreq and - arch_xen_set_memory - -In preparation to moving most of xen-hvm code to an arch-neutral -location, move the x86-specific portion of xen_set_memory to -arch_xen_set_memory. - -Also move handle_vmport_ioreq to arch_handle_ioreq. - -Signed-off-by: Stefano Stabellini -Signed-off-by: Vikram Garhwal -Reviewed-by: Stefano Stabellini ---- - hw/i386/xen/xen-hvm.c | 98 ++++++++++++++++++++-------------- - include/hw/i386/xen_arch_hvm.h | 10 ++++ - include/hw/xen/arch_hvm.h | 3 ++ - 3 files changed, 71 insertions(+), 40 deletions(-) - create mode 100644 include/hw/i386/xen_arch_hvm.h - create mode 100644 include/hw/xen/arch_hvm.h - -diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c -index 225cfdf8b7..178f0c68fc 100644 ---- a/hw/i386/xen/xen-hvm.c -+++ b/hw/i386/xen/xen-hvm.c -@@ -134,6 +134,8 @@ typedef struct XenIOState { - Notifier exit; - } XenIOState; - -+#include "hw/xen/arch_hvm.h" -+ - /* Xen specific function for piix pci */ - - int xen_pci_slot_get_pirq(PCIDevice *pci_dev, int irq_num) -@@ -476,10 +478,6 @@ static void xen_set_memory(struct MemoryListener *listener, - bool add) - { - XenIOState *state = container_of(listener, XenIOState, memory_listener); -- hwaddr start_addr = section->offset_within_address_space; -- ram_addr_t size = int128_get64(section->size); -- bool log_dirty = memory_region_is_logging(section->mr, DIRTY_MEMORY_VGA); -- hvmmem_type_t mem_type; - - if (section->mr == &ram_memory) { - return; -@@ -492,38 +490,7 @@ static void xen_set_memory(struct MemoryListener *listener, - section); - } - } -- -- if (!memory_region_is_ram(section->mr)) { -- return; -- } -- -- if (log_dirty != add) { -- return; -- } -- -- trace_xen_client_set_memory(start_addr, size, log_dirty); -- -- start_addr &= TARGET_PAGE_MASK; -- size = TARGET_PAGE_ALIGN(size); -- -- if (add) { -- if (!memory_region_is_rom(section->mr)) { -- xen_add_to_physmap(state, start_addr, size, -- section->mr, section->offset_within_region); -- } else { -- mem_type = HVMMEM_ram_ro; -- if (xen_set_mem_type(xen_domid, mem_type, -- start_addr >> TARGET_PAGE_BITS, -- size >> TARGET_PAGE_BITS)) { -- DPRINTF("xen_set_mem_type error, addr: "TARGET_FMT_plx"\n", -- start_addr); -- } -- } -- } else { -- if (xen_remove_from_physmap(state, start_addr, size) < 0) { -- DPRINTF("physmapping does not exist at "TARGET_FMT_plx"\n", start_addr); -- } -- } -+ arch_xen_set_memory(state, section, add); - } - - static void xen_region_add(MemoryListener *listener, -@@ -1051,9 +1018,6 @@ static void handle_ioreq(XenIOState *state, ioreq_t *req) - case IOREQ_TYPE_COPY: - cpu_ioreq_move(req); - break; -- case IOREQ_TYPE_VMWARE_PORT: -- handle_vmport_ioreq(state, req); -- break; - case IOREQ_TYPE_TIMEOFFSET: - break; - case IOREQ_TYPE_INVALIDATE: -@@ -1063,7 +1027,7 @@ static void handle_ioreq(XenIOState *state, ioreq_t *req) - cpu_ioreq_config(state, req); - break; - default: -- hw_error("Invalid ioreq type 0x%x\n", req->type); -+ arch_handle_ioreq(state, req); - } - if (req->dir == IOREQ_READ) { - trace_handle_ioreq_read(req, req->type, req->df, req->data_is_ptr, -@@ -1604,3 +1568,57 @@ void qmp_xen_set_global_dirty_log(bool enable, Error **errp) - memory_global_dirty_log_stop(GLOBAL_DIRTY_MIGRATION); - } - } -+ -+void arch_xen_set_memory(XenIOState *state,MemoryRegionSection *section, -+ bool add) -+{ -+ hwaddr start_addr = section->offset_within_address_space; -+ ram_addr_t size = int128_get64(section->size); -+ bool log_dirty = memory_region_is_logging(section->mr, DIRTY_MEMORY_VGA); -+ hvmmem_type_t mem_type; -+ -+ if (!memory_region_is_ram(section->mr)) { -+ return; -+ } -+ -+ if (log_dirty != add) { -+ return; -+ } -+ -+ trace_xen_client_set_memory(start_addr, size, log_dirty); -+ -+ start_addr &= TARGET_PAGE_MASK; -+ size = TARGET_PAGE_ALIGN(size); -+ -+ if (add) { -+ if (!memory_region_is_rom(section->mr)) { -+ xen_add_to_physmap(state, start_addr, size, -+ section->mr, section->offset_within_region); -+ } else { -+ mem_type = HVMMEM_ram_ro; -+ if (xen_set_mem_type(xen_domid, mem_type, -+ start_addr >> TARGET_PAGE_BITS, -+ size >> TARGET_PAGE_BITS)) { -+ DPRINTF("xen_set_mem_type error, addr: "TARGET_FMT_plx"\n", -+ start_addr); -+ } -+ } -+ } else { -+ if (xen_remove_from_physmap(state, start_addr, size) < 0) { -+ DPRINTF("physmapping does not exist at "TARGET_FMT_plx"\n", start_addr); -+ } -+ } -+} -+ -+void arch_handle_ioreq(XenIOState *state, ioreq_t *req) -+{ -+ switch (req->type) { -+ case IOREQ_TYPE_VMWARE_PORT: -+ handle_vmport_ioreq(state, req); -+ break; -+ default: -+ hw_error("Invalid ioreq type 0x%x\n", req->type); -+ } -+ -+ return; -+} -diff --git a/include/hw/i386/xen_arch_hvm.h b/include/hw/i386/xen_arch_hvm.h -new file mode 100644 -index 0000000000..1b2c71ba4f ---- /dev/null -+++ b/include/hw/i386/xen_arch_hvm.h -@@ -0,0 +1,10 @@ -+#ifndef HW_XEN_ARCH_I386_HVM_H -+#define HW_XEN_ARCH_I386_HVM_H -+ -+#include -+ -+void arch_handle_ioreq(XenIOState *state, ioreq_t *req); -+void arch_xen_set_memory(XenIOState *state, -+ MemoryRegionSection *section, -+ bool add); -+#endif -diff --git a/include/hw/xen/arch_hvm.h b/include/hw/xen/arch_hvm.h -new file mode 100644 -index 0000000000..26674648d8 ---- /dev/null -+++ b/include/hw/xen/arch_hvm.h -@@ -0,0 +1,3 @@ -+#if defined(TARGET_I386) || defined(TARGET_X86_64) -+#include "hw/i386/xen_arch_hvm.h" -+#endif --- -2.17.1 - diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0006-xen-add-map-and-unmap-callbacks-for-grant-region.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0006-xen-add-map-and-unmap-callbacks-for-grant-region.patch deleted file mode 100644 index 87bbc3c6..00000000 --- a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0006-xen-add-map-and-unmap-callbacks-for-grant-region.patch +++ /dev/null @@ -1,255 +0,0 @@ -From ef94d70d4a22c5282d6955a7ed066ef502e99829 Mon Sep 17 00:00:00 2001 -From: Juergen Gross -Date: Fri, 26 Aug 2022 13:57:06 +0200 -Subject: [PATCH 6/8] xen: add map and unmap callbacks for grant region - -Add the callbacks for mapping/unmapping guest memory via grants to the -special grant memory region. - -Signed-off-by: Juergen Gross -Signed-off-by: Vikram Garhwal -Signed-off-by: Stefano Stabellini -Acked-by: Stefano Stabellini ---- - hw/xen/xen-mapcache.c | 167 +++++++++++++++++++++++++++++++++++++++++- - softmmu/physmem.c | 11 ++- - 2 files changed, 173 insertions(+), 5 deletions(-) - -diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c -index e53e7221f1..f81b75d216 100644 ---- a/hw/xen/xen-mapcache.c -+++ b/hw/xen/xen-mapcache.c -@@ -9,6 +9,8 @@ - */ - - #include "qemu/osdep.h" -+#include "qemu/queue.h" -+#include "qemu/thread.h" - #include "qemu/units.h" - #include "qemu/error-report.h" - -@@ -24,6 +26,8 @@ - #include "sysemu/xen-mapcache.h" - #include "trace.h" - -+#include -+#include - - //#define MAPCACHE_DEBUG - -@@ -386,7 +390,7 @@ uint8_t *xen_map_cache(hwaddr phys_addr, hwaddr size, - return p; - } - --ram_addr_t xen_ram_addr_from_mapcache(void *ptr) -+static ram_addr_t xen_ram_addr_from_mapcache_try(void *ptr) - { - MapCacheEntry *entry = NULL; - MapCacheRev *reventry; -@@ -595,10 +599,170 @@ uint8_t *xen_replace_cache_entry(hwaddr old_phys_addr, - return p; - } - -+struct XENMappedGrantRegion { -+ void *addr; -+ unsigned int pages; -+ unsigned int refs; -+ unsigned int prot; -+ uint32_t idx; -+ QLIST_ENTRY(XENMappedGrantRegion) list; -+}; -+ -+static xengnttab_handle *xen_region_gnttabdev; -+static QLIST_HEAD(GrantRegionList, XENMappedGrantRegion) xen_grant_mappings = -+ QLIST_HEAD_INITIALIZER(xen_grant_mappings); -+static QemuMutex xen_map_mutex; -+ -+static void *xen_map_grant_dyn(MemoryRegion **mr, hwaddr addr, hwaddr *plen, -+ bool is_write, MemTxAttrs attrs) -+{ -+ unsigned int page_off = addr & (XC_PAGE_SIZE - 1); -+ unsigned int i; -+ unsigned int nrefs = (page_off + *plen + XC_PAGE_SIZE - 1) >> XC_PAGE_SHIFT; -+ uint32_t ref = (addr - XEN_GRANT_ADDR_OFF) >> XC_PAGE_SHIFT; -+ uint32_t *refs; -+ unsigned int prot = PROT_READ; -+ struct XENMappedGrantRegion *mgr = NULL; -+ -+ if (is_write) { -+ prot |= PROT_WRITE; -+ } -+ -+ qemu_mutex_lock(&xen_map_mutex); -+ -+ QLIST_FOREACH(mgr, &xen_grant_mappings, list) { -+ if (mgr->idx == ref && -+ mgr->pages == nrefs && -+ (mgr->prot & prot) == prot) { -+ break; -+ } -+ } -+ if (!mgr) { -+ mgr = g_new(struct XENMappedGrantRegion, 1); -+ -+ if (nrefs == 1) { -+ refs = &ref; -+ } else { -+ refs = g_new(uint32_t, nrefs); -+ for (i = 0; i < nrefs; i++) { -+ refs[i] = ref + i; -+ } -+ } -+ mgr->addr = xengnttab_map_domain_grant_refs(xen_region_gnttabdev, nrefs, -+ xen_domid, refs, prot); -+ if (mgr->addr) { -+ mgr->pages = nrefs; -+ mgr->refs = 1; -+ mgr->prot = prot; -+ mgr->idx = ref; -+ -+ QLIST_INSERT_HEAD(&xen_grant_mappings, mgr, list); -+ } else { -+ g_free(mgr); -+ mgr = NULL; -+ } -+ } else { -+ mgr->refs++; -+ } -+ -+ qemu_mutex_unlock(&xen_map_mutex); -+ -+ if (nrefs > 1) { -+ g_free(refs); -+ } -+ -+ return mgr ? mgr->addr + page_off : NULL; -+} -+ -+static void xen_unmap_grant_dyn(MemoryRegion *mr, void *buffer, ram_addr_t addr, -+ hwaddr len, bool is_write, hwaddr access_len) -+{ -+ unsigned int page_off = (unsigned long)buffer & (XC_PAGE_SIZE - 1); -+ unsigned int nrefs = (page_off + len + XC_PAGE_SIZE - 1) >> XC_PAGE_SHIFT; -+ unsigned int prot = PROT_READ; -+ struct XENMappedGrantRegion *mgr = NULL; -+ -+ if (is_write) { -+ prot |= PROT_WRITE; -+ } -+ -+ qemu_mutex_lock(&xen_map_mutex); -+ -+ QLIST_FOREACH(mgr, &xen_grant_mappings, list) { -+ if (mgr->addr == buffer - page_off && -+ mgr->pages == nrefs && -+ (mgr->prot & prot) == prot) { -+ break; -+ } -+ } -+ if (mgr) { -+ mgr->refs--; -+ if (!mgr->refs) { -+ xengnttab_unmap(xen_region_gnttabdev, mgr->addr, nrefs); -+ -+ QLIST_REMOVE(mgr, list); -+ g_free(mgr); -+ } -+ } else { -+ error_report("xen_unmap_grant_dyn() trying to unmap unknown buffer"); -+ } -+ -+ qemu_mutex_unlock(&xen_map_mutex); -+} -+ -+static ram_addr_t xen_ram_addr_from_grant_cache(void *ptr) -+{ -+ unsigned int page_off = (unsigned long)ptr & (XC_PAGE_SIZE - 1); -+ struct XENMappedGrantRegion *mgr = NULL; -+ ram_addr_t raddr = RAM_ADDR_INVALID; -+ -+ qemu_mutex_lock(&xen_map_mutex); -+ -+ QLIST_FOREACH(mgr, &xen_grant_mappings, list) { -+ if (mgr->addr == ptr - page_off) { -+ break; -+ } -+ } -+ -+ if (mgr) { -+ raddr = (mgr->idx << XC_PAGE_SHIFT) + page_off + XEN_GRANT_ADDR_OFF; -+ } -+ -+ qemu_mutex_unlock(&xen_map_mutex); -+ -+ return raddr; -+} -+ -+ram_addr_t xen_ram_addr_from_mapcache(void *ptr) -+{ -+ ram_addr_t raddr; -+ -+ raddr = xen_ram_addr_from_mapcache_try(ptr); -+ if (raddr == RAM_ADDR_INVALID) { -+ raddr = xen_ram_addr_from_grant_cache(ptr); -+ } -+ -+ return raddr; -+} -+ -+static const struct MemoryRegionOps xen_grant_mr_ops = { -+ .map = xen_map_grant_dyn, -+ .unmap = xen_unmap_grant_dyn, -+ .endianness = DEVICE_LITTLE_ENDIAN, -+}; -+ - MemoryRegion *xen_init_grant_ram(void) - { - RAMBlock *block; - -+ qemu_mutex_init(&xen_map_mutex); -+ -+ xen_region_gnttabdev = xengnttab_open(NULL, 0); -+ if (xen_region_gnttabdev == NULL) { -+ fprintf(stderr, "can't open gnttab device\n"); -+ return NULL; -+ } -+ - memory_region_init(&ram_grants, NULL, "xen.grants", - XEN_MAX_VIRTIO_GRANTS * XC_PAGE_SIZE); - block = g_malloc0(sizeof(*block)); -@@ -613,6 +777,7 @@ MemoryRegion *xen_init_grant_ram(void) - ram_grants.ram_block = block; - ram_grants.ram = true; - ram_grants.terminates = true; -+ ram_grants.ops = &xen_grant_mr_ops; - ram_block_add_list(block); - memory_region_add_subregion(get_system_memory(), XEN_GRANT_ADDR_OFF, - &ram_grants); -diff --git a/softmmu/physmem.c b/softmmu/physmem.c -index 2038240311..6b2a02fc87 100644 ---- a/softmmu/physmem.c -+++ b/softmmu/physmem.c -@@ -2391,13 +2391,16 @@ RAMBlock *qemu_ram_block_from_host(void *ptr, bool round_offset, - - if (xen_enabled()) { - ram_addr_t ram_addr; -+ - RCU_READ_LOCK_GUARD(); - ram_addr = xen_ram_addr_from_mapcache(ptr); -- block = qemu_get_ram_block(ram_addr); -- if (block) { -- *offset = ram_addr - block->offset; -+ if (ram_addr != RAM_ADDR_INVALID) { -+ block = qemu_get_ram_block(ram_addr); -+ if (block) { -+ *offset = ram_addr - block->offset; -+ } -+ return block; - } -- return block; - } - - RCU_READ_LOCK_GUARD(); --- -2.25.1 - diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0006-xen-hvm-move-common-functions-to-hw-xen-xen-hvm-comm.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0006-xen-hvm-move-common-functions-to-hw-xen-xen-hvm-comm.patch deleted file mode 100644 index 7df302a2..00000000 --- a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0006-xen-hvm-move-common-functions-to-hw-xen-xen-hvm-comm.patch +++ /dev/null @@ -1,2094 +0,0 @@ -From 87d362e72e65b604da7554657204344a6540d88c Mon Sep 17 00:00:00 2001 -From: Vikram Garhwal -Date: Fri, 1 Jul 2022 15:59:47 -0700 -Subject: [PATCH 06/16] xen-hvm: move common functions to - hw/xen/xen-hvm-common.c - -Extract common functionalities from xen-hvm.c and move them to -hw/xen/xen-hvm-common.c. These common functions are useful for creating -an IOREQ server. - -Moved the common usable IOREQ creation part to a new function -xen_register_ioreq() which can be used by both x86 and ARM machines. - -NOTE: This patch will break the build as the patch only involves moving -of functions. Build fixes will be in the next patch. - -Signed-off-by: Vikram Garhwal -Signed-off-by: Stefano Stabellini -Reviewed-by: Stefano Stabellini ---- - hw/i386/xen/trace-events | 14 - - hw/i386/xen/xen-hvm.c | 927 +------------------------------- - hw/xen/meson.build | 5 +- - hw/xen/trace-events | 14 + - hw/xen/xen-hvm-common.c | 861 +++++++++++++++++++++++++++++ - include/hw/i386/xen_arch_hvm.h | 1 + - include/hw/xen/xen-hvm-common.h | 98 ++++ - 7 files changed, 986 insertions(+), 934 deletions(-) - create mode 100644 hw/xen/xen-hvm-common.c - create mode 100644 include/hw/xen/xen-hvm-common.h - -diff --git a/hw/i386/xen/trace-events b/hw/i386/xen/trace-events -index a0c89d91c4..5d0a8d6dcf 100644 ---- a/hw/i386/xen/trace-events -+++ b/hw/i386/xen/trace-events -@@ -7,17 +7,3 @@ xen_platform_log(char *s) "xen platform: %s" - xen_pv_mmio_read(uint64_t addr) "WARNING: read from Xen PV Device MMIO space (address 0x%"PRIx64")" - xen_pv_mmio_write(uint64_t addr) "WARNING: write to Xen PV Device MMIO space (address 0x%"PRIx64")" - --# xen-hvm.c --xen_ram_alloc(unsigned long ram_addr, unsigned long size) "requested: 0x%lx, size 0x%lx" --xen_client_set_memory(uint64_t start_addr, unsigned long size, bool log_dirty) "0x%"PRIx64" size 0x%lx, log_dirty %i" --handle_ioreq(void *req, uint32_t type, uint32_t dir, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p type=%d dir=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d" --handle_ioreq_read(void *req, uint32_t type, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p read type=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d" --handle_ioreq_write(void *req, uint32_t type, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p write type=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d" --cpu_ioreq_pio(void *req, uint32_t dir, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p pio dir=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d" --cpu_ioreq_pio_read_reg(void *req, uint64_t data, uint64_t addr, uint32_t size) "I/O=%p pio read reg data=0x%"PRIx64" port=0x%"PRIx64" size=%d" --cpu_ioreq_pio_write_reg(void *req, uint64_t data, uint64_t addr, uint32_t size) "I/O=%p pio write reg data=0x%"PRIx64" port=0x%"PRIx64" size=%d" --cpu_ioreq_move(void *req, uint32_t dir, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p copy dir=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d" --xen_map_resource_ioreq(uint32_t id, void *addr) "id: %u addr: %p" --cpu_ioreq_config_read(void *req, uint32_t sbdf, uint32_t reg, uint32_t size, uint32_t data) "I/O=%p sbdf=0x%x reg=%u size=%u data=0x%x" --cpu_ioreq_config_write(void *req, uint32_t sbdf, uint32_t reg, uint32_t size, uint32_t data) "I/O=%p sbdf=0x%x reg=%u size=%u data=0x%x" -- -diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c -index 178f0c68fc..36d87555a9 100644 ---- a/hw/i386/xen/xen-hvm.c -+++ b/hw/i386/xen/xen-hvm.c -@@ -10,43 +10,21 @@ - - #include "qemu/osdep.h" - #include "qemu/units.h" -+#include "qapi/error.h" -+#include "qapi/qapi-commands-migration.h" -+#include "trace.h" - --#include "cpu.h" --#include "hw/pci/pci.h" --#include "hw/pci/pci_host.h" - #include "hw/i386/pc.h" - #include "hw/irq.h" --#include "hw/hw.h" - #include "hw/i386/apic-msidef.h" --#include "hw/xen/xen_common.h" --#include "hw/xen/xen-legacy-backend.h" --#include "hw/xen/xen-bus.h" - #include "hw/xen/xen-x86.h" --#include "qapi/error.h" --#include "qapi/qapi-commands-migration.h" --#include "qemu/error-report.h" --#include "qemu/main-loop.h" - #include "qemu/range.h" --#include "sysemu/runstate.h" --#include "sysemu/sysemu.h" --#include "sysemu/xen.h" --#include "sysemu/xen-mapcache.h" --#include "trace.h" - --#include -+#include "hw/xen/xen-hvm-common.h" -+#include "hw/xen/arch_hvm.h" - #include - --//#define DEBUG_XEN_HVM -- --#ifdef DEBUG_XEN_HVM --#define DPRINTF(fmt, ...) \ -- do { fprintf(stderr, "xen: " fmt, ## __VA_ARGS__); } while (0) --#else --#define DPRINTF(fmt, ...) \ -- do { } while (0) --#endif -- --static MemoryRegion ram_memory, ram_640k, ram_lo, ram_hi; -+static MemoryRegion ram_640k, ram_lo, ram_hi; - static MemoryRegion *framebuffer; - static bool xen_in_migration; - -@@ -75,25 +53,6 @@ typedef struct shared_vmport_iopage shared_vmport_iopage_t; - #endif - static shared_vmport_iopage_t *shared_vmport_page; - --static inline uint32_t xen_vcpu_eport(shared_iopage_t *shared_page, int i) --{ -- return shared_page->vcpu_ioreq[i].vp_eport; --} --static inline ioreq_t *xen_vcpu_ioreq(shared_iopage_t *shared_page, int vcpu) --{ -- return &shared_page->vcpu_ioreq[vcpu]; --} -- --#define BUFFER_IO_MAX_DELAY 100 -- --typedef struct XenPhysmap { -- hwaddr start_addr; -- ram_addr_t size; -- const char *name; -- hwaddr phys_offset; -- -- QLIST_ENTRY(XenPhysmap) list; --} XenPhysmap; - - static QLIST_HEAD(, XenPhysmap) xen_physmap; - static const XenPhysmap *log_for_dirtybit = NULL; -@@ -102,40 +61,6 @@ static unsigned long *dirty_bitmap = NULL; - static Notifier suspend; - static Notifier wakeup; - --typedef struct XenPciDevice { -- PCIDevice *pci_dev; -- uint32_t sbdf; -- QLIST_ENTRY(XenPciDevice) entry; --} XenPciDevice; -- --typedef struct XenIOState { -- ioservid_t ioservid; -- shared_iopage_t *shared_page; -- buffered_iopage_t *buffered_io_page; -- xenforeignmemory_resource_handle *fres; -- QEMUTimer *buffered_io_timer; -- CPUState **cpu_by_vcpu_id; -- /* the evtchn port for polling the notification, */ -- evtchn_port_t *ioreq_local_port; -- /* evtchn remote and local ports for buffered io */ -- evtchn_port_t bufioreq_remote_port; -- evtchn_port_t bufioreq_local_port; -- /* the evtchn fd for polling */ -- xenevtchn_handle *xce_handle; -- /* which vcpu we are serving */ -- int send_vcpu; -- -- struct xs_handle *xenstore; -- MemoryListener memory_listener; -- MemoryListener io_listener; -- QLIST_HEAD(, XenPciDevice) dev_list; -- DeviceListener device_listener; -- -- Notifier exit; --} XenIOState; -- --#include "hw/xen/arch_hvm.h" -- - /* Xen specific function for piix pci */ - - int xen_pci_slot_get_pirq(PCIDevice *pci_dev, int irq_num) -@@ -248,42 +173,6 @@ static void xen_ram_init(PCMachineState *pcms, - } - } - --void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr, -- Error **errp) --{ -- unsigned long nr_pfn; -- xen_pfn_t *pfn_list; -- int i; -- -- if (runstate_check(RUN_STATE_INMIGRATE)) { -- /* RAM already populated in Xen */ -- fprintf(stderr, "%s: do not alloc "RAM_ADDR_FMT -- " bytes of ram at "RAM_ADDR_FMT" when runstate is INMIGRATE\n", -- __func__, size, ram_addr); -- return; -- } -- -- if (mr == &ram_memory) { -- return; -- } -- -- trace_xen_ram_alloc(ram_addr, size); -- -- nr_pfn = size >> TARGET_PAGE_BITS; -- pfn_list = g_malloc(sizeof (*pfn_list) * nr_pfn); -- -- for (i = 0; i < nr_pfn; i++) { -- pfn_list[i] = (ram_addr >> TARGET_PAGE_BITS) + i; -- } -- -- if (xc_domain_populate_physmap_exact(xen_xc, xen_domid, nr_pfn, 0, 0, pfn_list)) { -- error_setg(errp, "xen: failed to populate ram at " RAM_ADDR_FMT, -- ram_addr); -- } -- -- g_free(pfn_list); --} -- - static XenPhysmap *get_physmapping(hwaddr start_addr, ram_addr_t size) - { - XenPhysmap *physmap = NULL; -@@ -473,109 +362,6 @@ static int xen_remove_from_physmap(XenIOState *state, - return 0; - } - --static void xen_set_memory(struct MemoryListener *listener, -- MemoryRegionSection *section, -- bool add) --{ -- XenIOState *state = container_of(listener, XenIOState, memory_listener); -- -- if (section->mr == &ram_memory) { -- return; -- } else { -- if (add) { -- xen_map_memory_section(xen_domid, state->ioservid, -- section); -- } else { -- xen_unmap_memory_section(xen_domid, state->ioservid, -- section); -- } -- } -- arch_xen_set_memory(state, section, add); --} -- --static void xen_region_add(MemoryListener *listener, -- MemoryRegionSection *section) --{ -- memory_region_ref(section->mr); -- xen_set_memory(listener, section, true); --} -- --static void xen_region_del(MemoryListener *listener, -- MemoryRegionSection *section) --{ -- xen_set_memory(listener, section, false); -- memory_region_unref(section->mr); --} -- --static void xen_io_add(MemoryListener *listener, -- MemoryRegionSection *section) --{ -- XenIOState *state = container_of(listener, XenIOState, io_listener); -- MemoryRegion *mr = section->mr; -- -- if (mr->ops == &unassigned_io_ops) { -- return; -- } -- -- memory_region_ref(mr); -- -- xen_map_io_section(xen_domid, state->ioservid, section); --} -- --static void xen_io_del(MemoryListener *listener, -- MemoryRegionSection *section) --{ -- XenIOState *state = container_of(listener, XenIOState, io_listener); -- MemoryRegion *mr = section->mr; -- -- if (mr->ops == &unassigned_io_ops) { -- return; -- } -- -- xen_unmap_io_section(xen_domid, state->ioservid, section); -- -- memory_region_unref(mr); --} -- --static void xen_device_realize(DeviceListener *listener, -- DeviceState *dev) --{ -- XenIOState *state = container_of(listener, XenIOState, device_listener); -- -- if (object_dynamic_cast(OBJECT(dev), TYPE_PCI_DEVICE)) { -- PCIDevice *pci_dev = PCI_DEVICE(dev); -- XenPciDevice *xendev = g_new(XenPciDevice, 1); -- -- xendev->pci_dev = pci_dev; -- xendev->sbdf = PCI_BUILD_BDF(pci_dev_bus_num(pci_dev), -- pci_dev->devfn); -- QLIST_INSERT_HEAD(&state->dev_list, xendev, entry); -- -- xen_map_pcidev(xen_domid, state->ioservid, pci_dev); -- } --} -- --static void xen_device_unrealize(DeviceListener *listener, -- DeviceState *dev) --{ -- XenIOState *state = container_of(listener, XenIOState, device_listener); -- -- if (object_dynamic_cast(OBJECT(dev), TYPE_PCI_DEVICE)) { -- PCIDevice *pci_dev = PCI_DEVICE(dev); -- XenPciDevice *xendev, *next; -- -- xen_unmap_pcidev(xen_domid, state->ioservid, pci_dev); -- -- QLIST_FOREACH_SAFE(xendev, &state->dev_list, entry, next) { -- if (xendev->pci_dev == pci_dev) { -- QLIST_REMOVE(xendev, entry); -- g_free(xendev); -- break; -- } -- } -- } --} -- - static void xen_sync_dirty_bitmap(XenIOState *state, - hwaddr start_addr, - ram_addr_t size) -@@ -683,277 +469,6 @@ static MemoryListener xen_memory_listener = { - .priority = 10, - }; - --static MemoryListener xen_io_listener = { -- .name = "xen-io", -- .region_add = xen_io_add, -- .region_del = xen_io_del, -- .priority = 10, --}; -- --static DeviceListener xen_device_listener = { -- .realize = xen_device_realize, -- .unrealize = xen_device_unrealize, --}; -- --/* get the ioreq packets from share mem */ --static ioreq_t *cpu_get_ioreq_from_shared_memory(XenIOState *state, int vcpu) --{ -- ioreq_t *req = xen_vcpu_ioreq(state->shared_page, vcpu); -- -- if (req->state != STATE_IOREQ_READY) { -- DPRINTF("I/O request not ready: " -- "%x, ptr: %x, port: %"PRIx64", " -- "data: %"PRIx64", count: %u, size: %u\n", -- req->state, req->data_is_ptr, req->addr, -- req->data, req->count, req->size); -- return NULL; -- } -- -- xen_rmb(); /* see IOREQ_READY /then/ read contents of ioreq */ -- -- req->state = STATE_IOREQ_INPROCESS; -- return req; --} -- --/* use poll to get the port notification */ --/* ioreq_vec--out,the */ --/* retval--the number of ioreq packet */ --static ioreq_t *cpu_get_ioreq(XenIOState *state) --{ -- MachineState *ms = MACHINE(qdev_get_machine()); -- unsigned int max_cpus = ms->smp.max_cpus; -- int i; -- evtchn_port_t port; -- -- port = xenevtchn_pending(state->xce_handle); -- if (port == state->bufioreq_local_port) { -- timer_mod(state->buffered_io_timer, -- BUFFER_IO_MAX_DELAY + qemu_clock_get_ms(QEMU_CLOCK_REALTIME)); -- return NULL; -- } -- -- if (port != -1) { -- for (i = 0; i < max_cpus; i++) { -- if (state->ioreq_local_port[i] == port) { -- break; -- } -- } -- -- if (i == max_cpus) { -- hw_error("Fatal error while trying to get io event!\n"); -- } -- -- /* unmask the wanted port again */ -- xenevtchn_unmask(state->xce_handle, port); -- -- /* get the io packet from shared memory */ -- state->send_vcpu = i; -- return cpu_get_ioreq_from_shared_memory(state, i); -- } -- -- /* read error or read nothing */ -- return NULL; --} -- --static uint32_t do_inp(uint32_t addr, unsigned long size) --{ -- switch (size) { -- case 1: -- return cpu_inb(addr); -- case 2: -- return cpu_inw(addr); -- case 4: -- return cpu_inl(addr); -- default: -- hw_error("inp: bad size: %04x %lx", addr, size); -- } --} -- --static void do_outp(uint32_t addr, -- unsigned long size, uint32_t val) --{ -- switch (size) { -- case 1: -- return cpu_outb(addr, val); -- case 2: -- return cpu_outw(addr, val); -- case 4: -- return cpu_outl(addr, val); -- default: -- hw_error("outp: bad size: %04x %lx", addr, size); -- } --} -- --/* -- * Helper functions which read/write an object from/to physical guest -- * memory, as part of the implementation of an ioreq. -- * -- * Equivalent to -- * cpu_physical_memory_rw(addr + (req->df ? -1 : +1) * req->size * i, -- * val, req->size, 0/1) -- * except without the integer overflow problems. -- */ --static void rw_phys_req_item(hwaddr addr, -- ioreq_t *req, uint32_t i, void *val, int rw) --{ -- /* Do everything unsigned so overflow just results in a truncated result -- * and accesses to undesired parts of guest memory, which is up -- * to the guest */ -- hwaddr offset = (hwaddr)req->size * i; -- if (req->df) { -- addr -= offset; -- } else { -- addr += offset; -- } -- cpu_physical_memory_rw(addr, val, req->size, rw); --} -- --static inline void read_phys_req_item(hwaddr addr, -- ioreq_t *req, uint32_t i, void *val) --{ -- rw_phys_req_item(addr, req, i, val, 0); --} --static inline void write_phys_req_item(hwaddr addr, -- ioreq_t *req, uint32_t i, void *val) --{ -- rw_phys_req_item(addr, req, i, val, 1); --} -- -- --static void cpu_ioreq_pio(ioreq_t *req) --{ -- uint32_t i; -- -- trace_cpu_ioreq_pio(req, req->dir, req->df, req->data_is_ptr, req->addr, -- req->data, req->count, req->size); -- -- if (req->size > sizeof(uint32_t)) { -- hw_error("PIO: bad size (%u)", req->size); -- } -- -- if (req->dir == IOREQ_READ) { -- if (!req->data_is_ptr) { -- req->data = do_inp(req->addr, req->size); -- trace_cpu_ioreq_pio_read_reg(req, req->data, req->addr, -- req->size); -- } else { -- uint32_t tmp; -- -- for (i = 0; i < req->count; i++) { -- tmp = do_inp(req->addr, req->size); -- write_phys_req_item(req->data, req, i, &tmp); -- } -- } -- } else if (req->dir == IOREQ_WRITE) { -- if (!req->data_is_ptr) { -- trace_cpu_ioreq_pio_write_reg(req, req->data, req->addr, -- req->size); -- do_outp(req->addr, req->size, req->data); -- } else { -- for (i = 0; i < req->count; i++) { -- uint32_t tmp = 0; -- -- read_phys_req_item(req->data, req, i, &tmp); -- do_outp(req->addr, req->size, tmp); -- } -- } -- } --} -- --static void cpu_ioreq_move(ioreq_t *req) --{ -- uint32_t i; -- -- trace_cpu_ioreq_move(req, req->dir, req->df, req->data_is_ptr, req->addr, -- req->data, req->count, req->size); -- -- if (req->size > sizeof(req->data)) { -- hw_error("MMIO: bad size (%u)", req->size); -- } -- -- if (!req->data_is_ptr) { -- if (req->dir == IOREQ_READ) { -- for (i = 0; i < req->count; i++) { -- read_phys_req_item(req->addr, req, i, &req->data); -- } -- } else if (req->dir == IOREQ_WRITE) { -- for (i = 0; i < req->count; i++) { -- write_phys_req_item(req->addr, req, i, &req->data); -- } -- } -- } else { -- uint64_t tmp; -- -- if (req->dir == IOREQ_READ) { -- for (i = 0; i < req->count; i++) { -- read_phys_req_item(req->addr, req, i, &tmp); -- write_phys_req_item(req->data, req, i, &tmp); -- } -- } else if (req->dir == IOREQ_WRITE) { -- for (i = 0; i < req->count; i++) { -- read_phys_req_item(req->data, req, i, &tmp); -- write_phys_req_item(req->addr, req, i, &tmp); -- } -- } -- } --} -- --static void cpu_ioreq_config(XenIOState *state, ioreq_t *req) --{ -- uint32_t sbdf = req->addr >> 32; -- uint32_t reg = req->addr; -- XenPciDevice *xendev; -- -- if (req->size != sizeof(uint8_t) && req->size != sizeof(uint16_t) && -- req->size != sizeof(uint32_t)) { -- hw_error("PCI config access: bad size (%u)", req->size); -- } -- -- if (req->count != 1) { -- hw_error("PCI config access: bad count (%u)", req->count); -- } -- -- QLIST_FOREACH(xendev, &state->dev_list, entry) { -- if (xendev->sbdf != sbdf) { -- continue; -- } -- -- if (!req->data_is_ptr) { -- if (req->dir == IOREQ_READ) { -- req->data = pci_host_config_read_common( -- xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE, -- req->size); -- trace_cpu_ioreq_config_read(req, xendev->sbdf, reg, -- req->size, req->data); -- } else if (req->dir == IOREQ_WRITE) { -- trace_cpu_ioreq_config_write(req, xendev->sbdf, reg, -- req->size, req->data); -- pci_host_config_write_common( -- xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE, -- req->data, req->size); -- } -- } else { -- uint32_t tmp; -- -- if (req->dir == IOREQ_READ) { -- tmp = pci_host_config_read_common( -- xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE, -- req->size); -- trace_cpu_ioreq_config_read(req, xendev->sbdf, reg, -- req->size, tmp); -- write_phys_req_item(req->data, req, 0, &tmp); -- } else if (req->dir == IOREQ_WRITE) { -- read_phys_req_item(req->data, req, 0, &tmp); -- trace_cpu_ioreq_config_write(req, xendev->sbdf, reg, -- req->size, tmp); -- pci_host_config_write_common( -- xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE, -- tmp, req->size); -- } -- } -- } --} -- - static void regs_to_cpu(vmware_regs_t *vmport_regs, ioreq_t *req) - { - X86CPU *cpu; -@@ -997,223 +512,6 @@ static void handle_vmport_ioreq(XenIOState *state, ioreq_t *req) - current_cpu = NULL; - } - --static void handle_ioreq(XenIOState *state, ioreq_t *req) --{ -- trace_handle_ioreq(req, req->type, req->dir, req->df, req->data_is_ptr, -- req->addr, req->data, req->count, req->size); -- -- if (!req->data_is_ptr && (req->dir == IOREQ_WRITE) && -- (req->size < sizeof (target_ulong))) { -- req->data &= ((target_ulong) 1 << (8 * req->size)) - 1; -- } -- -- if (req->dir == IOREQ_WRITE) -- trace_handle_ioreq_write(req, req->type, req->df, req->data_is_ptr, -- req->addr, req->data, req->count, req->size); -- -- switch (req->type) { -- case IOREQ_TYPE_PIO: -- cpu_ioreq_pio(req); -- break; -- case IOREQ_TYPE_COPY: -- cpu_ioreq_move(req); -- break; -- case IOREQ_TYPE_TIMEOFFSET: -- break; -- case IOREQ_TYPE_INVALIDATE: -- xen_invalidate_map_cache(); -- break; -- case IOREQ_TYPE_PCI_CONFIG: -- cpu_ioreq_config(state, req); -- break; -- default: -- arch_handle_ioreq(state, req); -- } -- if (req->dir == IOREQ_READ) { -- trace_handle_ioreq_read(req, req->type, req->df, req->data_is_ptr, -- req->addr, req->data, req->count, req->size); -- } --} -- --static bool handle_buffered_iopage(XenIOState *state) --{ -- buffered_iopage_t *buf_page = state->buffered_io_page; -- buf_ioreq_t *buf_req = NULL; -- bool handled_ioreq = false; -- ioreq_t req; -- int qw; -- -- if (!buf_page) { -- return 0; -- } -- -- memset(&req, 0x00, sizeof(req)); -- req.state = STATE_IOREQ_READY; -- req.count = 1; -- req.dir = IOREQ_WRITE; -- -- for (;;) { -- uint32_t rdptr = buf_page->read_pointer, wrptr; -- -- xen_rmb(); -- wrptr = buf_page->write_pointer; -- xen_rmb(); -- if (rdptr != buf_page->read_pointer) { -- continue; -- } -- if (rdptr == wrptr) { -- break; -- } -- buf_req = &buf_page->buf_ioreq[rdptr % IOREQ_BUFFER_SLOT_NUM]; -- req.size = 1U << buf_req->size; -- req.addr = buf_req->addr; -- req.data = buf_req->data; -- req.type = buf_req->type; -- xen_rmb(); -- qw = (req.size == 8); -- if (qw) { -- if (rdptr + 1 == wrptr) { -- hw_error("Incomplete quad word buffered ioreq"); -- } -- buf_req = &buf_page->buf_ioreq[(rdptr + 1) % -- IOREQ_BUFFER_SLOT_NUM]; -- req.data |= ((uint64_t)buf_req->data) << 32; -- xen_rmb(); -- } -- -- handle_ioreq(state, &req); -- -- /* Only req.data may get updated by handle_ioreq(), albeit even that -- * should not happen as such data would never make it to the guest (we -- * can only usefully see writes here after all). -- */ -- assert(req.state == STATE_IOREQ_READY); -- assert(req.count == 1); -- assert(req.dir == IOREQ_WRITE); -- assert(!req.data_is_ptr); -- -- qatomic_add(&buf_page->read_pointer, qw + 1); -- handled_ioreq = true; -- } -- -- return handled_ioreq; --} -- --static void handle_buffered_io(void *opaque) --{ -- XenIOState *state = opaque; -- -- if (handle_buffered_iopage(state)) { -- timer_mod(state->buffered_io_timer, -- BUFFER_IO_MAX_DELAY + qemu_clock_get_ms(QEMU_CLOCK_REALTIME)); -- } else { -- timer_del(state->buffered_io_timer); -- xenevtchn_unmask(state->xce_handle, state->bufioreq_local_port); -- } --} -- --static void cpu_handle_ioreq(void *opaque) --{ -- XenIOState *state = opaque; -- ioreq_t *req = cpu_get_ioreq(state); -- -- handle_buffered_iopage(state); -- if (req) { -- ioreq_t copy = *req; -- -- xen_rmb(); -- handle_ioreq(state, ©); -- req->data = copy.data; -- -- if (req->state != STATE_IOREQ_INPROCESS) { -- fprintf(stderr, "Badness in I/O request ... not in service?!: " -- "%x, ptr: %x, port: %"PRIx64", " -- "data: %"PRIx64", count: %u, size: %u, type: %u\n", -- req->state, req->data_is_ptr, req->addr, -- req->data, req->count, req->size, req->type); -- destroy_hvm_domain(false); -- return; -- } -- -- xen_wmb(); /* Update ioreq contents /then/ update state. */ -- -- /* -- * We do this before we send the response so that the tools -- * have the opportunity to pick up on the reset before the -- * guest resumes and does a hlt with interrupts disabled which -- * causes Xen to powerdown the domain. -- */ -- if (runstate_is_running()) { -- ShutdownCause request; -- -- if (qemu_shutdown_requested_get()) { -- destroy_hvm_domain(false); -- } -- request = qemu_reset_requested_get(); -- if (request) { -- qemu_system_reset(request); -- destroy_hvm_domain(true); -- } -- } -- -- req->state = STATE_IORESP_READY; -- xenevtchn_notify(state->xce_handle, -- state->ioreq_local_port[state->send_vcpu]); -- } --} -- --static void xen_main_loop_prepare(XenIOState *state) --{ -- int evtchn_fd = -1; -- -- if (state->xce_handle != NULL) { -- evtchn_fd = xenevtchn_fd(state->xce_handle); -- } -- -- state->buffered_io_timer = timer_new_ms(QEMU_CLOCK_REALTIME, handle_buffered_io, -- state); -- -- if (evtchn_fd != -1) { -- CPUState *cpu_state; -- -- DPRINTF("%s: Init cpu_by_vcpu_id\n", __func__); -- CPU_FOREACH(cpu_state) { -- DPRINTF("%s: cpu_by_vcpu_id[%d]=%p\n", -- __func__, cpu_state->cpu_index, cpu_state); -- state->cpu_by_vcpu_id[cpu_state->cpu_index] = cpu_state; -- } -- qemu_set_fd_handler(evtchn_fd, cpu_handle_ioreq, NULL, state); -- } --} -- -- --static void xen_hvm_change_state_handler(void *opaque, bool running, -- RunState rstate) --{ -- XenIOState *state = opaque; -- -- if (running) { -- xen_main_loop_prepare(state); -- } -- -- xen_set_ioreq_server_state(xen_domid, -- state->ioservid, -- (rstate == RUN_STATE_RUNNING)); --} -- --static void xen_exit_notifier(Notifier *n, void *data) --{ -- XenIOState *state = container_of(n, XenIOState, exit); -- -- xen_destroy_ioreq_server(xen_domid, state->ioservid); -- if (state->fres != NULL) { -- xenforeignmemory_unmap_resource(xen_fmem, state->fres); -- } -- -- xenevtchn_close(state->xce_handle); -- xs_daemon_close(state->xenstore); --} -- - #ifdef XEN_COMPAT_PHYSMAP - static void xen_read_physmap(XenIOState *state) - { -@@ -1273,178 +571,17 @@ static void xen_wakeup_notifier(Notifier *notifier, void *data) - xc_set_hvm_param(xen_xc, xen_domid, HVM_PARAM_ACPI_S_STATE, 0); - } - --static int xen_map_ioreq_server(XenIOState *state) --{ -- void *addr = NULL; -- xen_pfn_t ioreq_pfn; -- xen_pfn_t bufioreq_pfn; -- evtchn_port_t bufioreq_evtchn; -- int rc; -- -- /* -- * Attempt to map using the resource API and fall back to normal -- * foreign mapping if this is not supported. -- */ -- QEMU_BUILD_BUG_ON(XENMEM_resource_ioreq_server_frame_bufioreq != 0); -- QEMU_BUILD_BUG_ON(XENMEM_resource_ioreq_server_frame_ioreq(0) != 1); -- state->fres = xenforeignmemory_map_resource(xen_fmem, xen_domid, -- XENMEM_resource_ioreq_server, -- state->ioservid, 0, 2, -- &addr, -- PROT_READ | PROT_WRITE, 0); -- if (state->fres != NULL) { -- trace_xen_map_resource_ioreq(state->ioservid, addr); -- state->buffered_io_page = addr; -- state->shared_page = addr + TARGET_PAGE_SIZE; -- } else if (errno != EOPNOTSUPP) { -- error_report("failed to map ioreq server resources: error %d handle=%p", -- errno, xen_xc); -- return -1; -- } -- -- rc = xen_get_ioreq_server_info(xen_domid, state->ioservid, -- (state->shared_page == NULL) ? -- &ioreq_pfn : NULL, -- (state->buffered_io_page == NULL) ? -- &bufioreq_pfn : NULL, -- &bufioreq_evtchn); -- if (rc < 0) { -- error_report("failed to get ioreq server info: error %d handle=%p", -- errno, xen_xc); -- return rc; -- } -- -- if (state->shared_page == NULL) { -- DPRINTF("shared page at pfn %lx\n", ioreq_pfn); -- -- state->shared_page = xenforeignmemory_map(xen_fmem, xen_domid, -- PROT_READ | PROT_WRITE, -- 1, &ioreq_pfn, NULL); -- if (state->shared_page == NULL) { -- error_report("map shared IO page returned error %d handle=%p", -- errno, xen_xc); -- } -- } -- -- if (state->buffered_io_page == NULL) { -- DPRINTF("buffered io page at pfn %lx\n", bufioreq_pfn); -- -- state->buffered_io_page = xenforeignmemory_map(xen_fmem, xen_domid, -- PROT_READ | PROT_WRITE, -- 1, &bufioreq_pfn, -- NULL); -- if (state->buffered_io_page == NULL) { -- error_report("map buffered IO page returned error %d", errno); -- return -1; -- } -- } -- -- if (state->shared_page == NULL || state->buffered_io_page == NULL) { -- return -1; -- } -- -- DPRINTF("buffered io evtchn is %x\n", bufioreq_evtchn); -- -- state->bufioreq_remote_port = bufioreq_evtchn; -- -- return 0; --} -- - void xen_hvm_init_pc(PCMachineState *pcms, MemoryRegion **ram_memory) - { - MachineState *ms = MACHINE(pcms); - unsigned int max_cpus = ms->smp.max_cpus; -- int i, rc; -+ int rc; - xen_pfn_t ioreq_pfn; - XenIOState *state; - - state = g_new0(XenIOState, 1); - -- state->xce_handle = xenevtchn_open(NULL, 0); -- if (state->xce_handle == NULL) { -- perror("xen: event channel open"); -- goto err; -- } -- -- state->xenstore = xs_daemon_open(); -- if (state->xenstore == NULL) { -- perror("xen: xenstore open"); -- goto err; -- } -- -- xen_create_ioreq_server(xen_domid, &state->ioservid); -- -- state->exit.notify = xen_exit_notifier; -- qemu_add_exit_notifier(&state->exit); -- -- /* -- * Register wake-up support in QMP query-current-machine API -- */ -- qemu_register_wakeup_support(); -- -- rc = xen_map_ioreq_server(state); -- if (rc < 0) { -- goto err; -- } -- -- /* Note: cpus is empty at this point in init */ -- state->cpu_by_vcpu_id = g_new0(CPUState *, max_cpus); -- -- rc = xen_set_ioreq_server_state(xen_domid, state->ioservid, true); -- if (rc < 0) { -- error_report("failed to enable ioreq server info: error %d handle=%p", -- errno, xen_xc); -- goto err; -- } -- -- state->ioreq_local_port = g_new0(evtchn_port_t, max_cpus); -- -- /* FIXME: how about if we overflow the page here? */ -- for (i = 0; i < max_cpus; i++) { -- rc = xenevtchn_bind_interdomain(state->xce_handle, xen_domid, -- xen_vcpu_eport(state->shared_page, i)); -- if (rc == -1) { -- error_report("shared evtchn %d bind error %d", i, errno); -- goto err; -- } -- state->ioreq_local_port[i] = rc; -- } -- -- rc = xenevtchn_bind_interdomain(state->xce_handle, xen_domid, -- state->bufioreq_remote_port); -- if (rc == -1) { -- error_report("buffered evtchn bind error %d", errno); -- goto err; -- } -- state->bufioreq_local_port = rc; -- -- /* Init RAM management */ --#ifdef XEN_COMPAT_PHYSMAP -- xen_map_cache_init(xen_phys_offset_to_gaddr, state); --#else -- xen_map_cache_init(NULL, state); --#endif -- -- qemu_add_vm_change_state_handler(xen_hvm_change_state_handler, state); -- -- state->memory_listener = xen_memory_listener; -- memory_listener_register(&state->memory_listener, &address_space_memory); -- -- state->io_listener = xen_io_listener; -- memory_listener_register(&state->io_listener, &address_space_io); -- -- state->device_listener = xen_device_listener; -- QLIST_INIT(&state->dev_list); -- device_listener_register(&state->device_listener); -- -- xen_bus_init(); -- -- /* Initialize backend core & drivers */ -- if (xen_be_init() != 0) { -- error_report("xen backend core setup failed"); -- goto err; -- } -- xen_be_register_common(); -+ xen_register_ioreq(state, max_cpus, xen_memory_listener); - - QLIST_INIT(&xen_physmap); - xen_read_physmap(state); -@@ -1484,59 +621,11 @@ err: - exit(1); - } - --void destroy_hvm_domain(bool reboot) --{ -- xc_interface *xc_handle; -- int sts; -- int rc; -- -- unsigned int reason = reboot ? SHUTDOWN_reboot : SHUTDOWN_poweroff; -- -- if (xen_dmod) { -- rc = xendevicemodel_shutdown(xen_dmod, xen_domid, reason); -- if (!rc) { -- return; -- } -- if (errno != ENOTTY /* old Xen */) { -- perror("xendevicemodel_shutdown failed"); -- } -- /* well, try the old thing then */ -- } -- -- xc_handle = xc_interface_open(0, 0, 0); -- if (xc_handle == NULL) { -- fprintf(stderr, "Cannot acquire xenctrl handle\n"); -- } else { -- sts = xc_domain_shutdown(xc_handle, xen_domid, reason); -- if (sts != 0) { -- fprintf(stderr, "xc_domain_shutdown failed to issue %s, " -- "sts %d, %s\n", reboot ? "reboot" : "poweroff", -- sts, strerror(errno)); -- } else { -- fprintf(stderr, "Issued domain %d %s\n", xen_domid, -- reboot ? "reboot" : "poweroff"); -- } -- xc_interface_close(xc_handle); -- } --} -- - void xen_register_framebuffer(MemoryRegion *mr) - { - framebuffer = mr; - } - --void xen_shutdown_fatal_error(const char *fmt, ...) --{ -- va_list ap; -- -- va_start(ap, fmt); -- vfprintf(stderr, fmt, ap); -- va_end(ap); -- fprintf(stderr, "Will destroy the domain.\n"); -- /* destroy the domain */ -- qemu_system_shutdown_request(SHUTDOWN_CAUSE_HOST_ERROR); --} -- - void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length) - { - if (unlikely(xen_in_migration)) { -diff --git a/hw/xen/meson.build b/hw/xen/meson.build -index 19d0637c46..008e036d63 100644 ---- a/hw/xen/meson.build -+++ b/hw/xen/meson.build -@@ -25,4 +25,7 @@ specific_ss.add_all(when: ['CONFIG_XEN', xen], if_true: xen_specific_ss) - - xen_ss = ss.source_set() - --xen_ss.add(when: 'CONFIG_XEN', if_true: files('xen-mapcache.c')) -+xen_ss.add(when: 'CONFIG_XEN', if_true: files( -+ 'xen-mapcache.c', -+ 'xen-hvm-common.c', -+)) -diff --git a/hw/xen/trace-events b/hw/xen/trace-events -index 2c8f238f42..02ca1183da 100644 ---- a/hw/xen/trace-events -+++ b/hw/xen/trace-events -@@ -42,6 +42,20 @@ xs_node_vscanf(char *path, char *value) "%s %s" - xs_node_watch(char *path) "%s" - xs_node_unwatch(char *path) "%s" - -+# xen-hvm.c -+xen_ram_alloc(unsigned long ram_addr, unsigned long size) "requested: 0x%lx, size 0x%lx" -+xen_client_set_memory(uint64_t start_addr, unsigned long size, bool log_dirty) "0x%"PRIx64" size 0x%lx, log_dirty %i" -+handle_ioreq(void *req, uint32_t type, uint32_t dir, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p type=%d dir=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d" -+handle_ioreq_read(void *req, uint32_t type, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p read type=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d" -+handle_ioreq_write(void *req, uint32_t type, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p write type=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d" -+cpu_ioreq_pio(void *req, uint32_t dir, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p pio dir=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d" -+cpu_ioreq_pio_read_reg(void *req, uint64_t data, uint64_t addr, uint32_t size) "I/O=%p pio read reg data=0x%"PRIx64" port=0x%"PRIx64" size=%d" -+cpu_ioreq_pio_write_reg(void *req, uint64_t data, uint64_t addr, uint32_t size) "I/O=%p pio write reg data=0x%"PRIx64" port=0x%"PRIx64" size=%d" -+cpu_ioreq_move(void *req, uint32_t dir, uint32_t df, uint32_t data_is_ptr, uint64_t addr, uint64_t data, uint32_t count, uint32_t size) "I/O=%p copy dir=%d df=%d ptr=%d port=0x%"PRIx64" data=0x%"PRIx64" count=%d size=%d" -+xen_map_resource_ioreq(uint32_t id, void *addr) "id: %u addr: %p" -+cpu_ioreq_config_read(void *req, uint32_t sbdf, uint32_t reg, uint32_t size, uint32_t data) "I/O=%p sbdf=0x%x reg=%u size=%u data=0x%x" -+cpu_ioreq_config_write(void *req, uint32_t sbdf, uint32_t reg, uint32_t size, uint32_t data) "I/O=%p sbdf=0x%x reg=%u size=%u data=0x%x" -+ - # xen-mapcache.c - xen_map_cache(uint64_t phys_addr) "want 0x%"PRIx64 - xen_remap_bucket(uint64_t index) "index 0x%"PRIx64 -diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c -new file mode 100644 -index 0000000000..67f76f6010 ---- /dev/null -+++ b/hw/xen/xen-hvm-common.c -@@ -0,0 +1,861 @@ -+#include "qemu/osdep.h" -+#include "qemu/units.h" -+#include "qapi/error.h" -+#include "trace.h" -+ -+#include "hw/pci/pci_host.h" -+#include "hw/xen/xen-hvm-common.h" -+#include "hw/xen/xen-legacy-backend.h" -+#include "hw/xen/xen-bus.h" -+#include "hw/boards.h" -+#include "hw/xen/arch_hvm.h" -+ -+MemoryRegion ram_memory; -+ -+MemoryListener xen_io_listener = { -+ .name = "xen-io", -+ .region_add = xen_io_add, -+ .region_del = xen_io_del, -+ .priority = 10, -+}; -+ -+DeviceListener xen_device_listener = { -+ .realize = xen_device_realize, -+ .unrealize = xen_device_unrealize, -+}; -+ -+static void xen_set_memory(struct MemoryListener *listener, -+ MemoryRegionSection *section, -+ bool add) -+{ -+ XenIOState *state = container_of(listener, XenIOState, memory_listener); -+ -+ if (section->mr == &ram_memory) { -+ return; -+ } else { -+ if (add) { -+ xen_map_memory_section(xen_domid, state->ioservid, -+ section); -+ } else { -+ xen_unmap_memory_section(xen_domid, state->ioservid, -+ section); -+ } -+ } -+ arch_xen_set_memory(state, section, add); -+} -+ -+void xen_region_add(MemoryListener *listener, -+ MemoryRegionSection *section) -+{ -+ memory_region_ref(section->mr); -+ xen_set_memory(listener, section, true); -+} -+ -+void xen_region_del(MemoryListener *listener, -+ MemoryRegionSection *section) -+{ -+ xen_set_memory(listener, section, false); -+ memory_region_unref(section->mr); -+} -+ -+void xen_io_add(MemoryListener *listener, -+ MemoryRegionSection *section) -+{ -+ XenIOState *state = container_of(listener, XenIOState, io_listener); -+ MemoryRegion *mr = section->mr; -+ -+ if (mr->ops == &unassigned_io_ops) { -+ return; -+ } -+ -+ memory_region_ref(mr); -+ -+ xen_map_io_section(xen_domid, state->ioservid, section); -+} -+ -+void xen_io_del(MemoryListener *listener, -+ MemoryRegionSection *section) -+{ -+ XenIOState *state = container_of(listener, XenIOState, io_listener); -+ MemoryRegion *mr = section->mr; -+ -+ if (mr->ops == &unassigned_io_ops) { -+ return; -+ } -+ -+ xen_unmap_io_section(xen_domid, state->ioservid, section); -+ -+ memory_region_unref(mr); -+} -+ -+void xen_device_realize(DeviceListener *listener, -+ DeviceState *dev) -+{ -+ XenIOState *state = container_of(listener, XenIOState, device_listener); -+ -+ if (object_dynamic_cast(OBJECT(dev), TYPE_PCI_DEVICE)) { -+ PCIDevice *pci_dev = PCI_DEVICE(dev); -+ XenPciDevice *xendev = g_new(XenPciDevice, 1); -+ -+ xendev->pci_dev = pci_dev; -+ xendev->sbdf = PCI_BUILD_BDF(pci_dev_bus_num(pci_dev), -+ pci_dev->devfn); -+ QLIST_INSERT_HEAD(&state->dev_list, xendev, entry); -+ -+ xen_map_pcidev(xen_domid, state->ioservid, pci_dev); -+ } -+} -+ -+void xen_device_unrealize(DeviceListener *listener, -+ DeviceState *dev) -+{ -+ XenIOState *state = container_of(listener, XenIOState, device_listener); -+ -+ if (object_dynamic_cast(OBJECT(dev), TYPE_PCI_DEVICE)) { -+ PCIDevice *pci_dev = PCI_DEVICE(dev); -+ XenPciDevice *xendev, *next; -+ -+ xen_unmap_pcidev(xen_domid, state->ioservid, pci_dev); -+ -+ QLIST_FOREACH_SAFE(xendev, &state->dev_list, entry, next) { -+ if (xendev->pci_dev == pci_dev) { -+ QLIST_REMOVE(xendev, entry); -+ g_free(xendev); -+ break; -+ } -+ } -+ } -+} -+ -+/* get the ioreq packets from share mem */ -+static ioreq_t *cpu_get_ioreq_from_shared_memory(XenIOState *state, int vcpu) -+{ -+ ioreq_t *req = xen_vcpu_ioreq(state->shared_page, vcpu); -+ -+ if (req->state != STATE_IOREQ_READY) { -+ DPRINTF("I/O request not ready: " -+ "%x, ptr: %x, port: %"PRIx64", " -+ "data: %"PRIx64", count: %u, size: %u\n", -+ req->state, req->data_is_ptr, req->addr, -+ req->data, req->count, req->size); -+ return NULL; -+ } -+ -+ xen_rmb(); /* see IOREQ_READY /then/ read contents of ioreq */ -+ -+ req->state = STATE_IOREQ_INPROCESS; -+ return req; -+} -+ -+/* use poll to get the port notification */ -+/* ioreq_vec--out,the */ -+/* retval--the number of ioreq packet */ -+static ioreq_t *cpu_get_ioreq(XenIOState *state) -+{ -+ MachineState *ms = MACHINE(qdev_get_machine()); -+ unsigned int max_cpus = ms->smp.max_cpus; -+ int i; -+ evtchn_port_t port; -+ -+ port = xenevtchn_pending(state->xce_handle); -+ if (port == state->bufioreq_local_port) { -+ timer_mod(state->buffered_io_timer, -+ BUFFER_IO_MAX_DELAY + qemu_clock_get_ms(QEMU_CLOCK_REALTIME)); -+ return NULL; -+ } -+ -+ if (port != -1) { -+ for (i = 0; i < max_cpus; i++) { -+ if (state->ioreq_local_port[i] == port) { -+ break; -+ } -+ } -+ -+ if (i == max_cpus) { -+ hw_error("Fatal error while trying to get io event!\n"); -+ } -+ -+ /* unmask the wanted port again */ -+ xenevtchn_unmask(state->xce_handle, port); -+ -+ /* get the io packet from shared memory */ -+ state->send_vcpu = i; -+ return cpu_get_ioreq_from_shared_memory(state, i); -+ } -+ -+ /* read error or read nothing */ -+ return NULL; -+} -+ -+static uint32_t do_inp(uint32_t addr, unsigned long size) -+{ -+ switch (size) { -+ case 1: -+ return cpu_inb(addr); -+ case 2: -+ return cpu_inw(addr); -+ case 4: -+ return cpu_inl(addr); -+ default: -+ hw_error("inp: bad size: %04x %lx", addr, size); -+ } -+} -+ -+static void do_outp(uint32_t addr, -+ unsigned long size, uint32_t val) -+{ -+ switch (size) { -+ case 1: -+ return cpu_outb(addr, val); -+ case 2: -+ return cpu_outw(addr, val); -+ case 4: -+ return cpu_outl(addr, val); -+ default: -+ hw_error("outp: bad size: %04x %lx", addr, size); -+ } -+} -+ -+/* -+ * Helper functions which read/write an object from/to physical guest -+ * memory, as part of the implementation of an ioreq. -+ * -+ * Equivalent to -+ * cpu_physical_memory_rw(addr + (req->df ? -1 : +1) * req->size * i, -+ * val, req->size, 0/1) -+ * except without the integer overflow problems. -+ */ -+static void rw_phys_req_item(hwaddr addr, -+ ioreq_t *req, uint32_t i, void *val, int rw) -+{ -+ /* Do everything unsigned so overflow just results in a truncated result -+ * and accesses to undesired parts of guest memory, which is up -+ * to the guest */ -+ hwaddr offset = (hwaddr)req->size * i; -+ if (req->df) { -+ addr -= offset; -+ } else { -+ addr += offset; -+ } -+ cpu_physical_memory_rw(addr, val, req->size, rw); -+} -+ -+static inline void read_phys_req_item(hwaddr addr, -+ ioreq_t *req, uint32_t i, void *val) -+{ -+ rw_phys_req_item(addr, req, i, val, 0); -+} -+static inline void write_phys_req_item(hwaddr addr, -+ ioreq_t *req, uint32_t i, void *val) -+{ -+ rw_phys_req_item(addr, req, i, val, 1); -+} -+ -+ -+void cpu_ioreq_pio(ioreq_t *req) -+{ -+ uint32_t i; -+ -+ trace_cpu_ioreq_pio(req, req->dir, req->df, req->data_is_ptr, req->addr, -+ req->data, req->count, req->size); -+ -+ if (req->size > sizeof(uint32_t)) { -+ hw_error("PIO: bad size (%u)", req->size); -+ } -+ -+ if (req->dir == IOREQ_READ) { -+ if (!req->data_is_ptr) { -+ req->data = do_inp(req->addr, req->size); -+ trace_cpu_ioreq_pio_read_reg(req, req->data, req->addr, -+ req->size); -+ } else { -+ uint32_t tmp; -+ -+ for (i = 0; i < req->count; i++) { -+ tmp = do_inp(req->addr, req->size); -+ write_phys_req_item(req->data, req, i, &tmp); -+ } -+ } -+ } else if (req->dir == IOREQ_WRITE) { -+ if (!req->data_is_ptr) { -+ trace_cpu_ioreq_pio_write_reg(req, req->data, req->addr, -+ req->size); -+ do_outp(req->addr, req->size, req->data); -+ } else { -+ for (i = 0; i < req->count; i++) { -+ uint32_t tmp = 0; -+ -+ read_phys_req_item(req->data, req, i, &tmp); -+ do_outp(req->addr, req->size, tmp); -+ } -+ } -+ } -+} -+ -+static void cpu_ioreq_move(ioreq_t *req) -+{ -+ uint32_t i; -+ -+ trace_cpu_ioreq_move(req, req->dir, req->df, req->data_is_ptr, req->addr, -+ req->data, req->count, req->size); -+ -+ if (req->size > sizeof(req->data)) { -+ hw_error("MMIO: bad size (%u)", req->size); -+ } -+ -+ if (!req->data_is_ptr) { -+ if (req->dir == IOREQ_READ) { -+ for (i = 0; i < req->count; i++) { -+ read_phys_req_item(req->addr, req, i, &req->data); -+ } -+ } else if (req->dir == IOREQ_WRITE) { -+ for (i = 0; i < req->count; i++) { -+ write_phys_req_item(req->addr, req, i, &req->data); -+ } -+ } -+ } else { -+ uint64_t tmp; -+ -+ if (req->dir == IOREQ_READ) { -+ for (i = 0; i < req->count; i++) { -+ read_phys_req_item(req->addr, req, i, &tmp); -+ write_phys_req_item(req->data, req, i, &tmp); -+ } -+ } else if (req->dir == IOREQ_WRITE) { -+ for (i = 0; i < req->count; i++) { -+ read_phys_req_item(req->data, req, i, &tmp); -+ write_phys_req_item(req->addr, req, i, &tmp); -+ } -+ } -+ } -+} -+ -+static void cpu_ioreq_config(XenIOState *state, ioreq_t *req) -+{ -+ uint32_t sbdf = req->addr >> 32; -+ uint32_t reg = req->addr; -+ XenPciDevice *xendev; -+ -+ if (req->size != sizeof(uint8_t) && req->size != sizeof(uint16_t) && -+ req->size != sizeof(uint32_t)) { -+ hw_error("PCI config access: bad size (%u)", req->size); -+ } -+ -+ if (req->count != 1) { -+ hw_error("PCI config access: bad count (%u)", req->count); -+ } -+ -+ QLIST_FOREACH(xendev, &state->dev_list, entry) { -+ if (xendev->sbdf != sbdf) { -+ continue; -+ } -+ -+ if (!req->data_is_ptr) { -+ if (req->dir == IOREQ_READ) { -+ req->data = pci_host_config_read_common( -+ xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE, -+ req->size); -+ trace_cpu_ioreq_config_read(req, xendev->sbdf, reg, -+ req->size, req->data); -+ } else if (req->dir == IOREQ_WRITE) { -+ trace_cpu_ioreq_config_write(req, xendev->sbdf, reg, -+ req->size, req->data); -+ pci_host_config_write_common( -+ xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE, -+ req->data, req->size); -+ } -+ } else { -+ uint32_t tmp; -+ -+ if (req->dir == IOREQ_READ) { -+ tmp = pci_host_config_read_common( -+ xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE, -+ req->size); -+ trace_cpu_ioreq_config_read(req, xendev->sbdf, reg, -+ req->size, tmp); -+ write_phys_req_item(req->data, req, 0, &tmp); -+ } else if (req->dir == IOREQ_WRITE) { -+ read_phys_req_item(req->data, req, 0, &tmp); -+ trace_cpu_ioreq_config_write(req, xendev->sbdf, reg, -+ req->size, tmp); -+ pci_host_config_write_common( -+ xendev->pci_dev, reg, PCI_CONFIG_SPACE_SIZE, -+ tmp, req->size); -+ } -+ } -+ } -+} -+ -+static void handle_ioreq(XenIOState *state, ioreq_t *req) -+{ -+ trace_handle_ioreq(req, req->type, req->dir, req->df, req->data_is_ptr, -+ req->addr, req->data, req->count, req->size); -+ -+ if (!req->data_is_ptr && (req->dir == IOREQ_WRITE) && -+ (req->size < sizeof (target_ulong))) { -+ req->data &= ((target_ulong) 1 << (8 * req->size)) - 1; -+ } -+ -+ if (req->dir == IOREQ_WRITE) -+ trace_handle_ioreq_write(req, req->type, req->df, req->data_is_ptr, -+ req->addr, req->data, req->count, req->size); -+ -+ switch (req->type) { -+ case IOREQ_TYPE_PIO: -+ cpu_ioreq_pio(req); -+ break; -+ case IOREQ_TYPE_COPY: -+ cpu_ioreq_move(req); -+ break; -+ case IOREQ_TYPE_TIMEOFFSET: -+ break; -+ case IOREQ_TYPE_INVALIDATE: -+ xen_invalidate_map_cache(); -+ break; -+ case IOREQ_TYPE_PCI_CONFIG: -+ cpu_ioreq_config(state, req); -+ break; -+ default: -+ arch_handle_ioreq(state, req); -+ } -+ if (req->dir == IOREQ_READ) { -+ trace_handle_ioreq_read(req, req->type, req->df, req->data_is_ptr, -+ req->addr, req->data, req->count, req->size); -+ } -+} -+ -+static bool handle_buffered_iopage(XenIOState *state) -+{ -+ buffered_iopage_t *buf_page = state->buffered_io_page; -+ buf_ioreq_t *buf_req = NULL; -+ bool handled_ioreq = false; -+ ioreq_t req; -+ int qw; -+ -+ if (!buf_page) { -+ return 0; -+ } -+ -+ memset(&req, 0x00, sizeof(req)); -+ req.state = STATE_IOREQ_READY; -+ req.count = 1; -+ req.dir = IOREQ_WRITE; -+ -+ for (;;) { -+ uint32_t rdptr = buf_page->read_pointer, wrptr; -+ -+ xen_rmb(); -+ wrptr = buf_page->write_pointer; -+ xen_rmb(); -+ if (rdptr != buf_page->read_pointer) { -+ continue; -+ } -+ if (rdptr == wrptr) { -+ break; -+ } -+ buf_req = &buf_page->buf_ioreq[rdptr % IOREQ_BUFFER_SLOT_NUM]; -+ req.size = 1U << buf_req->size; -+ req.addr = buf_req->addr; -+ req.data = buf_req->data; -+ req.type = buf_req->type; -+ xen_rmb(); -+ qw = (req.size == 8); -+ if (qw) { -+ if (rdptr + 1 == wrptr) { -+ hw_error("Incomplete quad word buffered ioreq"); -+ } -+ buf_req = &buf_page->buf_ioreq[(rdptr + 1) % -+ IOREQ_BUFFER_SLOT_NUM]; -+ req.data |= ((uint64_t)buf_req->data) << 32; -+ xen_rmb(); -+ } -+ -+ handle_ioreq(state, &req); -+ -+ /* Only req.data may get updated by handle_ioreq(), albeit even that -+ * should not happen as such data would never make it to the guest (we -+ * can only usefully see writes here after all). -+ */ -+ assert(req.state == STATE_IOREQ_READY); -+ assert(req.count == 1); -+ assert(req.dir == IOREQ_WRITE); -+ assert(!req.data_is_ptr); -+ -+ qatomic_add(&buf_page->read_pointer, qw + 1); -+ } -+ -+ return handled_ioreq; -+} -+ -+static void handle_buffered_io(void *opaque) -+{ -+ XenIOState *state = opaque; -+ -+ if (handle_buffered_iopage(state)) { -+ timer_mod(state->buffered_io_timer, -+ BUFFER_IO_MAX_DELAY + qemu_clock_get_ms(QEMU_CLOCK_REALTIME)); -+ } else { -+ timer_del(state->buffered_io_timer); -+ xenevtchn_unmask(state->xce_handle, state->bufioreq_local_port); -+ } -+} -+ -+static void cpu_handle_ioreq(void *opaque) -+{ -+ XenIOState *state = opaque; -+ ioreq_t *req = cpu_get_ioreq(state); -+ -+ handle_buffered_iopage(state); -+ if (req) { -+ ioreq_t copy = *req; -+ -+ xen_rmb(); -+ handle_ioreq(state, ©); -+ req->data = copy.data; -+ -+ if (req->state != STATE_IOREQ_INPROCESS) { -+ fprintf(stderr, "Badness in I/O request ... not in service?!: " -+ "%x, ptr: %x, port: %"PRIx64", " -+ "data: %"PRIx64", count: %u, size: %u, type: %u\n", -+ req->state, req->data_is_ptr, req->addr, -+ req->data, req->count, req->size, req->type); -+ destroy_hvm_domain(false); -+ return; -+ } -+ -+ xen_wmb(); /* Update ioreq contents /then/ update state. */ -+ -+ /* -+ * We do this before we send the response so that the tools -+ * have the opportunity to pick up on the reset before the -+ * guest resumes and does a hlt with interrupts disabled which -+ * causes Xen to powerdown the domain. -+ */ -+ if (runstate_is_running()) { -+ ShutdownCause request; -+ -+ if (qemu_shutdown_requested_get()) { -+ destroy_hvm_domain(false); -+ } -+ request = qemu_reset_requested_get(); -+ if (request) { -+ qemu_system_reset(request); -+ destroy_hvm_domain(true); -+ } -+ } -+ -+ req->state = STATE_IORESP_READY; -+ xenevtchn_notify(state->xce_handle, -+ state->ioreq_local_port[state->send_vcpu]); -+ } -+} -+ -+static void xen_main_loop_prepare(XenIOState *state) -+{ -+ int evtchn_fd = -1; -+ -+ if (state->xce_handle != NULL) { -+ evtchn_fd = xenevtchn_fd(state->xce_handle); -+ } -+ -+ state->buffered_io_timer = timer_new_ms(QEMU_CLOCK_REALTIME, handle_buffered_io, -+ state); -+ -+ if (evtchn_fd != -1) { -+ CPUState *cpu_state; -+ -+ DPRINTF("%s: Init cpu_by_vcpu_id\n", __func__); -+ CPU_FOREACH(cpu_state) { -+ DPRINTF("%s: cpu_by_vcpu_id[%d]=%p\n", -+ __func__, cpu_state->cpu_index, cpu_state); -+ state->cpu_by_vcpu_id[cpu_state->cpu_index] = cpu_state; -+ } -+ qemu_set_fd_handler(evtchn_fd, cpu_handle_ioreq, NULL, state); -+ } -+} -+ -+ -+void xen_hvm_change_state_handler(void *opaque, bool running, -+ RunState rstate) -+{ -+ XenIOState *state = opaque; -+ -+ if (running) { -+ xen_main_loop_prepare(state); -+ } -+ -+ xen_set_ioreq_server_state(xen_domid, -+ state->ioservid, -+ (rstate == RUN_STATE_RUNNING)); -+} -+ -+void xen_exit_notifier(Notifier *n, void *data) -+{ -+ XenIOState *state = container_of(n, XenIOState, exit); -+ -+ xen_destroy_ioreq_server(xen_domid, state->ioservid); -+ if (state->fres != NULL) { -+ xenforeignmemory_unmap_resource(xen_fmem, state->fres); -+ } -+ -+ xenevtchn_close(state->xce_handle); -+ xs_daemon_close(state->xenstore); -+} -+ -+static int xen_map_ioreq_server(XenIOState *state) -+{ -+ void *addr = NULL; -+ xen_pfn_t ioreq_pfn; -+ xen_pfn_t bufioreq_pfn; -+ evtchn_port_t bufioreq_evtchn; -+ int rc; -+ -+ /* -+ * Attempt to map using the resource API and fall back to normal -+ * foreign mapping if this is not supported. -+ */ -+ QEMU_BUILD_BUG_ON(XENMEM_resource_ioreq_server_frame_bufioreq != 0); -+ QEMU_BUILD_BUG_ON(XENMEM_resource_ioreq_server_frame_ioreq(0) != 1); -+ state->fres = xenforeignmemory_map_resource(xen_fmem, xen_domid, -+ XENMEM_resource_ioreq_server, -+ state->ioservid, 0, 2, -+ &addr, -+ PROT_READ | PROT_WRITE, 0); -+ if (state->fres != NULL) { -+ trace_xen_map_resource_ioreq(state->ioservid, addr); -+ state->buffered_io_page = addr; -+ state->shared_page = addr + TARGET_PAGE_SIZE; -+ } else if (errno != EOPNOTSUPP) { -+ error_report("failed to map ioreq server resources: error %d handle=%p", -+ errno, xen_xc); -+ return -1; -+ } -+ -+ rc = xen_get_ioreq_server_info(xen_domid, state->ioservid, -+ (state->shared_page == NULL) ? -+ &ioreq_pfn : NULL, -+ (state->buffered_io_page == NULL) ? -+ &bufioreq_pfn : NULL, -+ &bufioreq_evtchn); -+ if (rc < 0) { -+ error_report("failed to get ioreq server info: error %d handle=%p", -+ errno, xen_xc); -+ return rc; -+ } -+ -+ if (state->shared_page == NULL) { -+ DPRINTF("shared page at pfn %lx\n", ioreq_pfn); -+ -+ state->shared_page = xenforeignmemory_map(xen_fmem, xen_domid, -+ PROT_READ | PROT_WRITE, -+ 1, &ioreq_pfn, NULL); -+ if (state->shared_page == NULL) { -+ error_report("map shared IO page returned error %d handle=%p", -+ errno, xen_xc); -+ } -+ } -+ -+ if (state->buffered_io_page == NULL) { -+ DPRINTF("buffered io page at pfn %lx\n", bufioreq_pfn); -+ -+ state->buffered_io_page = xenforeignmemory_map(xen_fmem, xen_domid, -+ PROT_READ | PROT_WRITE, -+ 1, &bufioreq_pfn, -+ NULL); -+ if (state->buffered_io_page == NULL) { -+ error_report("map buffered IO page returned error %d", errno); -+ return -1; -+ } -+ } -+ -+ if (state->shared_page == NULL || state->buffered_io_page == NULL) { -+ return -1; -+ } -+ -+ DPRINTF("buffered io evtchn is %x\n", bufioreq_evtchn); -+ -+ state->bufioreq_remote_port = bufioreq_evtchn; -+ -+ return 0; -+} -+ -+void xen_shutdown_fatal_error(const char *fmt, ...) -+{ -+ va_list ap; -+ -+ va_start(ap, fmt); -+ vfprintf(stderr, fmt, ap); -+ va_end(ap); -+ fprintf(stderr, "Will destroy the domain.\n"); -+ /* destroy the domain */ -+ qemu_system_shutdown_request(SHUTDOWN_CAUSE_HOST_ERROR); -+} -+ -+void destroy_hvm_domain(bool reboot) -+{ -+ xc_interface *xc_handle; -+ int sts; -+ int rc; -+ -+ unsigned int reason = reboot ? SHUTDOWN_reboot : SHUTDOWN_poweroff; -+ -+ if (xen_dmod) { -+ rc = xendevicemodel_shutdown(xen_dmod, xen_domid, reason); -+ if (!rc) { -+ return; -+ } -+ if (errno != ENOTTY /* old Xen */) { -+ perror("xendevicemodel_shutdown failed"); -+ } -+ /* well, try the old thing then */ -+ } -+ -+ xc_handle = xc_interface_open(0, 0, 0); -+ if (xc_handle == NULL) { -+ fprintf(stderr, "Cannot acquire xenctrl handle\n"); -+ } else { -+ sts = xc_domain_shutdown(xc_handle, xen_domid, reason); -+ if (sts != 0) { -+ fprintf(stderr, "xc_domain_shutdown failed to issue %s, " -+ "sts %d, %s\n", reboot ? "reboot" : "poweroff", -+ sts, strerror(errno)); -+ } else { -+ fprintf(stderr, "Issued domain %d %s\n", xen_domid, -+ reboot ? "reboot" : "poweroff"); -+ } -+ xc_interface_close(xc_handle); -+ } -+} -+ -+void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr, -+ Error **errp) -+{ -+ unsigned long nr_pfn; -+ xen_pfn_t *pfn_list; -+ int i; -+ -+ if (runstate_check(RUN_STATE_INMIGRATE)) { -+ /* RAM already populated in Xen */ -+ fprintf(stderr, "%s: do not alloc "RAM_ADDR_FMT -+ " bytes of ram at "RAM_ADDR_FMT" when runstate is INMIGRATE\n", -+ __func__, size, ram_addr); -+ return; -+ } -+ -+ if (mr == &ram_memory) { -+ return; -+ } -+ -+ trace_xen_ram_alloc(ram_addr, size); -+ -+ nr_pfn = size >> TARGET_PAGE_BITS; -+ pfn_list = g_malloc(sizeof (*pfn_list) * nr_pfn); -+ -+ for (i = 0; i < nr_pfn; i++) { -+ pfn_list[i] = (ram_addr >> TARGET_PAGE_BITS) + i; -+ } -+ -+ if (xc_domain_populate_physmap_exact(xen_xc, xen_domid, nr_pfn, 0, 0, pfn_list)) { -+ error_setg(errp, "xen: failed to populate ram at " RAM_ADDR_FMT, -+ ram_addr); -+ } -+ -+ g_free(pfn_list); -+} -+ -+void xen_register_ioreq(XenIOState *state, unsigned int max_cpus, -+ MemoryListener xen_memory_listener) -+{ -+ int i, rc; -+ -+ state->xce_handle = xenevtchn_open(NULL, 0); -+ if (state->xce_handle == NULL) { -+ perror("xen: event channel open"); -+ goto err; -+ } -+ -+ state->xenstore = xs_daemon_open(); -+ if (state->xenstore == NULL) { -+ perror("xen: xenstore open"); -+ goto err; -+ } -+ -+ xen_create_ioreq_server(xen_domid, &state->ioservid); -+ -+ state->exit.notify = xen_exit_notifier; -+ qemu_add_exit_notifier(&state->exit); -+ -+ /* -+ * Register wake-up support in QMP query-current-machine API -+ */ -+ qemu_register_wakeup_support(); -+ -+ rc = xen_map_ioreq_server(state); -+ if (rc < 0) { -+ goto err; -+ } -+ -+ /* Note: cpus is empty at this point in init */ -+ state->cpu_by_vcpu_id = g_new0(CPUState *, max_cpus); -+ -+ rc = xen_set_ioreq_server_state(xen_domid, state->ioservid, true); -+ if (rc < 0) { -+ error_report("failed to enable ioreq server info: error %d handle=%p", -+ errno, xen_xc); -+ goto err; -+ } -+ -+ state->ioreq_local_port = g_new0(evtchn_port_t, max_cpus); -+ -+ /* FIXME: how about if we overflow the page here? */ -+ for (i = 0; i < max_cpus; i++) { -+ rc = xenevtchn_bind_interdomain(state->xce_handle, xen_domid, -+ xen_vcpu_eport(state->shared_page, i)); -+ if (rc == -1) { -+ error_report("shared evtchn %d bind error %d", i, errno); -+ goto err; -+ } -+ state->ioreq_local_port[i] = rc; -+ } -+ -+ rc = xenevtchn_bind_interdomain(state->xce_handle, xen_domid, -+ state->bufioreq_remote_port); -+ if (rc == -1) { -+ error_report("buffered evtchn bind error %d", errno); -+ goto err; -+ } -+ state->bufioreq_local_port = rc; -+ -+ /* Init RAM management */ -+#ifdef XEN_COMPAT_PHYSMAP -+ xen_map_cache_init(xen_phys_offset_to_gaddr, state); -+#else -+ xen_map_cache_init(NULL, state); -+#endif -+ -+ qemu_add_vm_change_state_handler(xen_hvm_change_state_handler, state); -+ -+ state->memory_listener = xen_memory_listener; -+ memory_listener_register(&state->memory_listener, &address_space_memory); -+ -+ state->io_listener = xen_io_listener; -+ memory_listener_register(&state->io_listener, &address_space_io); -+ -+ state->device_listener = xen_device_listener; -+ QLIST_INIT(&state->dev_list); -+ device_listener_register(&state->device_listener); -+ -+ xen_bus_init(); -+ -+ /* Initialize backend core & drivers */ -+ if (xen_be_init() != 0) { -+ error_report("xen backend core setup failed"); -+ goto err; -+ } -+ xen_be_register_common(); -+ -+ return; -+err: -+ error_report("xen hardware virtual machine initialisation failed"); -+ exit(1); -+} -diff --git a/include/hw/i386/xen_arch_hvm.h b/include/hw/i386/xen_arch_hvm.h -index 1b2c71ba4f..1000f8f543 100644 ---- a/include/hw/i386/xen_arch_hvm.h -+++ b/include/hw/i386/xen_arch_hvm.h -@@ -2,6 +2,7 @@ - #define HW_XEN_ARCH_I386_HVM_H - - #include -+#include "hw/xen/xen-hvm-common.h" - - void arch_handle_ioreq(XenIOState *state, ioreq_t *req); - void arch_xen_set_memory(XenIOState *state, -diff --git a/include/hw/xen/xen-hvm-common.h b/include/hw/xen/xen-hvm-common.h -new file mode 100644 -index 0000000000..2979f84ee2 ---- /dev/null -+++ b/include/hw/xen/xen-hvm-common.h -@@ -0,0 +1,98 @@ -+#ifndef HW_XEN_HVM_COMMON_H -+#define HW_XEN_HVM_COMMON_H -+ -+#include "qemu/osdep.h" -+#include "qemu/units.h" -+ -+#include "cpu.h" -+#include "hw/pci/pci.h" -+#include "hw/hw.h" -+#include "hw/xen/xen_common.h" -+#include "sysemu/runstate.h" -+#include "sysemu/sysemu.h" -+#include "sysemu/xen.h" -+#include "sysemu/xen-mapcache.h" -+ -+#include -+ -+extern MemoryRegion ram_memory; -+extern MemoryListener xen_io_listener; -+extern DeviceListener xen_device_listener; -+ -+//#define DEBUG_XEN_HVM -+ -+#ifdef DEBUG_XEN_HVM -+#define DPRINTF(fmt, ...) \ -+ do { fprintf(stderr, "xen: " fmt, ## __VA_ARGS__); } while (0) -+#else -+#define DPRINTF(fmt, ...) \ -+ do { } while (0) -+#endif -+ -+static inline uint32_t xen_vcpu_eport(shared_iopage_t *shared_page, int i) -+{ -+ return shared_page->vcpu_ioreq[i].vp_eport; -+} -+static inline ioreq_t *xen_vcpu_ioreq(shared_iopage_t *shared_page, int vcpu) -+{ -+ return &shared_page->vcpu_ioreq[vcpu]; -+} -+ -+#define BUFFER_IO_MAX_DELAY 100 -+ -+typedef struct XenPhysmap { -+ hwaddr start_addr; -+ ram_addr_t size; -+ const char *name; -+ hwaddr phys_offset; -+ -+ QLIST_ENTRY(XenPhysmap) list; -+} XenPhysmap; -+ -+typedef struct XenPciDevice { -+ PCIDevice *pci_dev; -+ uint32_t sbdf; -+ QLIST_ENTRY(XenPciDevice) entry; -+} XenPciDevice; -+ -+typedef struct XenIOState { -+ ioservid_t ioservid; -+ shared_iopage_t *shared_page; -+ buffered_iopage_t *buffered_io_page; -+ xenforeignmemory_resource_handle *fres; -+ QEMUTimer *buffered_io_timer; -+ CPUState **cpu_by_vcpu_id; -+ /* the evtchn port for polling the notification, */ -+ evtchn_port_t *ioreq_local_port; -+ /* evtchn remote and local ports for buffered io */ -+ evtchn_port_t bufioreq_remote_port; -+ evtchn_port_t bufioreq_local_port; -+ /* the evtchn fd for polling */ -+ xenevtchn_handle *xce_handle; -+ /* which vcpu we are serving */ -+ int send_vcpu; -+ -+ struct xs_handle *xenstore; -+ MemoryListener memory_listener; -+ MemoryListener io_listener; -+ QLIST_HEAD(, XenPciDevice) dev_list; -+ DeviceListener device_listener; -+ -+ Notifier exit; -+} XenIOState; -+ -+void xen_exit_notifier(Notifier *n, void *data); -+ -+void xen_region_add(MemoryListener *listener, MemoryRegionSection *section); -+void xen_region_del(MemoryListener *listener, MemoryRegionSection *section); -+void xen_io_add(MemoryListener *listener, MemoryRegionSection *section); -+void xen_io_del(MemoryListener *listener, MemoryRegionSection *section); -+void xen_device_realize(DeviceListener *listener, DeviceState *dev); -+void xen_device_unrealize(DeviceListener *listener, DeviceState *dev); -+ -+void xen_hvm_change_state_handler(void *opaque, bool running, RunState rstate); -+void xen_register_ioreq(XenIOState *state, unsigned int max_cpus, -+ MemoryListener xen_memory_listener); -+ -+void cpu_ioreq_pio(ioreq_t *req); -+#endif /* HW_XEN_HVM_COMMON_H */ --- -2.17.1 - diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0007-xen-mapcache-Fix-build-on-Arm.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0007-xen-mapcache-Fix-build-on-Arm.patch deleted file mode 100644 index 7ff202ff..00000000 --- a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0007-xen-mapcache-Fix-build-on-Arm.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 2aca3ff63a5d5897cd32e0030569623f0c454f2c Mon Sep 17 00:00:00 2001 -From: Oleksandr Tyshchenko -Date: Mon, 19 Sep 2022 21:59:55 +0300 -Subject: [PATCH 7/8] xen-mapcache: Fix build on Arm -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -../hw/xen/xen-mapcache.c: In function ‘xen_map_grant_dyn’: -../hw/xen/xen-mapcache.c:668:9: error: ‘refs’ may be used uninitialized - in this function [-Werror=maybe-uninitialized] - 668 | g_free(refs); - | ^~~~~~~~~~~~ -cc1: all warnings being treated as errors - -Signed-off-by: Oleksandr Tyshchenko -Acked-by: Stefano Stabellini ---- - hw/xen/xen-mapcache.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c -index f81b75d216..6544e331e0 100644 ---- a/hw/xen/xen-mapcache.c -+++ b/hw/xen/xen-mapcache.c -@@ -620,7 +620,7 @@ static void *xen_map_grant_dyn(MemoryRegion **mr, hwaddr addr, hwaddr *plen, - unsigned int i; - unsigned int nrefs = (page_off + *plen + XC_PAGE_SIZE - 1) >> XC_PAGE_SHIFT; - uint32_t ref = (addr - XEN_GRANT_ADDR_OFF) >> XC_PAGE_SHIFT; -- uint32_t *refs; -+ uint32_t *refs = NULL; - unsigned int prot = PROT_READ; - struct XENMappedGrantRegion *mgr = NULL; - --- -2.25.1 - diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0007-xen-skip-ioreq-creation-on-ioreq-registration-failur.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0007-xen-skip-ioreq-creation-on-ioreq-registration-failur.patch deleted file mode 100644 index 83a18c08..00000000 --- a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0007-xen-skip-ioreq-creation-on-ioreq-registration-failur.patch +++ /dev/null @@ -1,42 +0,0 @@ -From fa475ec44fc78ff246e6536c8b9d408abadbb4a4 Mon Sep 17 00:00:00 2001 -From: Stefano Stabellini -Date: Fri, 1 Jul 2022 18:50:59 -0700 -Subject: [PATCH 07/16] xen: skip ioreq creation on ioreq registration failure - -On ARM it is possible to have a functioning xenpv machine with only the -PV backends and no IOREQ server. If the IOREQ server creation fails -continue to the PV backends initialization. - -Signed-off-by: Stefano Stabellini ---- - hw/xen/xen-hvm-common.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c -index 67f76f6010..7e7d23397f 100644 ---- a/hw/xen/xen-hvm-common.c -+++ b/hw/xen/xen-hvm-common.c -@@ -780,7 +780,11 @@ void xen_register_ioreq(XenIOState *state, unsigned int max_cpus, - goto err; - } - -- xen_create_ioreq_server(xen_domid, &state->ioservid); -+ rc = xen_create_ioreq_server(xen_domid, &state->ioservid); -+ if (rc) { -+ DPRINTF("xen: failed to create ioreq server\n"); -+ goto no_ioreq; -+ } - - state->exit.notify = xen_exit_notifier; - qemu_add_exit_notifier(&state->exit); -@@ -845,6 +849,7 @@ void xen_register_ioreq(XenIOState *state, unsigned int max_cpus, - QLIST_INIT(&state->dev_list); - device_listener_register(&state->device_listener); - -+no_ioreq: - xen_bus_init(); - - /* Initialize backend core & drivers */ --- -2.17.1 - diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0008-accel-xen-xen-all-export-xenstore_record_dm_state.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0008-accel-xen-xen-all-export-xenstore_record_dm_state.patch deleted file mode 100644 index 881076fb..00000000 --- a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0008-accel-xen-xen-all-export-xenstore_record_dm_state.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 13443fe86bb100849c55b41873f48e0b121c7bc0 Mon Sep 17 00:00:00 2001 -From: Vikram Garhwal -Date: Fri, 1 Jul 2022 17:28:14 -0700 -Subject: [PATCH 08/16] accel/xen/xen-all: export xenstore_record_dm_state - -Signed-off-by: Vikram Garhwal -Signed-off-by: Stefano Stabellini -Reviewed-by: Stefano Stabellini ---- - accel/xen/xen-all.c | 2 +- - include/hw/xen/xen.h | 2 ++ - 2 files changed, 3 insertions(+), 1 deletion(-) - -diff --git a/accel/xen/xen-all.c b/accel/xen/xen-all.c -index 69aa7d018b..276625b78b 100644 ---- a/accel/xen/xen-all.c -+++ b/accel/xen/xen-all.c -@@ -100,7 +100,7 @@ void xenstore_store_pv_console_info(int i, Chardev *chr) - } - - --static void xenstore_record_dm_state(struct xs_handle *xs, const char *state) -+void xenstore_record_dm_state(struct xs_handle *xs, const char *state) - { - char path[50]; - -diff --git a/include/hw/xen/xen.h b/include/hw/xen/xen.h -index afdf9c436a..31e9538a5c 100644 ---- a/include/hw/xen/xen.h -+++ b/include/hw/xen/xen.h -@@ -9,6 +9,7 @@ - */ - - #include "exec/cpu-common.h" -+#include - - /* xen-machine.c */ - enum xen_mode { -@@ -31,5 +32,6 @@ qemu_irq *xen_interrupt_controller_init(void); - void xenstore_store_pv_console_info(int i, Chardev *chr); - - void xen_register_framebuffer(struct MemoryRegion *mr); -+void xenstore_record_dm_state(struct xs_handle *xs, const char *state); - - #endif /* QEMU_HW_XEN_H */ --- -2.17.1 - diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0008-hw-arm-Add-grant-mapping.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0008-hw-arm-Add-grant-mapping.patch deleted file mode 100644 index 3b83d229..00000000 --- a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0008-hw-arm-Add-grant-mapping.patch +++ /dev/null @@ -1,39 +0,0 @@ -From b5e5f60de37bb6f71bc34ecb989c31ef5c834272 Mon Sep 17 00:00:00 2001 -From: Vikram Garhwal -Date: Tue, 31 Jan 2023 21:46:43 +0000 -Subject: [PATCH 8/8] hw: arm: Add grant mapping. - -Add support for grant mapping and change qemu machine name to xenpvh. - -Signed-off-by: Vikram Garhwal -Acked-by: Stefano Stabellini ---- - hw/arm/xen_arm.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c -index 4ac425a3c5..392bed7367 100644 ---- a/hw/arm/xen_arm.c -+++ b/hw/arm/xen_arm.c -@@ -35,7 +35,7 @@ - #include "sysemu/tpm.h" - #include "hw/xen/arch_hvm.h" - --#define TYPE_XEN_ARM MACHINE_TYPE_NAME("xenpv") -+#define TYPE_XEN_ARM MACHINE_TYPE_NAME("xenpvh") - OBJECT_DECLARE_SIMPLE_TYPE(XenArmState, XEN_ARM) - - static MemoryListener xen_memory_listener = { -@@ -115,6 +115,9 @@ static void xen_init_ram(MachineState *machine) - DPRINTF("Initialized region xen.ram.hi: base 0x%llx size 0x%lx\n", - GUEST_RAM1_BASE, ram_size[1]); - } -+ -+ DPRINTF("init grant ram mapping for XEN\n"); -+ ram_grants = *xen_init_grant_ram(); - } - - void arch_handle_ioreq(XenIOState *state, ioreq_t *req) --- -2.25.1 - diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0009-xen-hvm-enable-xen-hvm-common-build-for-ARM.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0009-xen-hvm-enable-xen-hvm-common-build-for-ARM.patch deleted file mode 100644 index 1b1aea76..00000000 --- a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0009-xen-hvm-enable-xen-hvm-common-build-for-ARM.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 2e6a9f464fd1f247c41ce3666ff3e3f66920d0b7 Mon Sep 17 00:00:00 2001 -From: Vikram Garhwal -Date: Fri, 1 Jul 2022 17:28:15 -0700 -Subject: [PATCH 09/16] xen-hvm: enable xen-hvm-common build for ARM - -Add CONFIG_XEN for aarch64 device and change xen-hvm-common.c to -support build for ARM targets. - -Signed-off-by: Vikram Garhwal -Acked-by: Stefano Stabellini -Signed-off-by: Stefano Stabellini ---- - hw/arm/meson.build | 1 + - meson.build | 2 +- - 2 files changed, 2 insertions(+), 1 deletion(-) - -diff --git a/hw/arm/meson.build b/hw/arm/meson.build -index 92f9f6e000..3aac913bfd 100644 ---- a/hw/arm/meson.build -+++ b/hw/arm/meson.build -@@ -62,5 +62,6 @@ arm_ss.add(when: 'CONFIG_FSL_IMX7', if_true: files('fsl-imx7.c', 'mcimx7d-sabre. - arm_ss.add(when: 'CONFIG_ARM_SMMUV3', if_true: files('smmu-common.c', 'smmuv3.c')) - arm_ss.add(when: 'CONFIG_FSL_IMX6UL', if_true: files('fsl-imx6ul.c', 'mcimx6ul-evk.c')) - arm_ss.add(when: 'CONFIG_NRF51_SOC', if_true: files('nrf51_soc.c')) -+arm_ss.add_all(xen_ss) - - hw_arch += {'arm': arm_ss} -diff --git a/meson.build b/meson.build -index 5c6b5a1c75..b94f0cd76e 100644 ---- a/meson.build -+++ b/meson.build -@@ -125,7 +125,7 @@ endif - if cpu in ['x86', 'x86_64', 'arm', 'aarch64'] - # i386 emulator provides xenpv machine type for multiple architectures - accelerator_targets += { -- 'CONFIG_XEN': ['i386-softmmu', 'x86_64-softmmu'], -+ 'CONFIG_XEN': ['i386-softmmu', 'x86_64-softmmu', 'aarch64-softmmu'], - } - endif - if cpu in ['x86', 'x86_64'] --- -2.17.1 - diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0010-hw-arm-introduce-xenpv-machine.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0010-hw-arm-introduce-xenpv-machine.patch deleted file mode 100644 index fc979b52..00000000 --- a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0010-hw-arm-introduce-xenpv-machine.patch +++ /dev/null @@ -1,230 +0,0 @@ -From 5618a18b1f12d567a8ef85240d55b841e18ef472 Mon Sep 17 00:00:00 2001 -From: Vikram Garhwal -Date: Fri, 1 Jul 2022 17:28:16 -0700 -Subject: [PATCH 10/16] hw/arm: introduce xenpv machine - -Create a new machine xenpv which creates a IOREQ server to connect -with Xen. It also creates a tpm-tis-device which connects to swtpm to -support TPM functionalities. - -Xen IOREQ connection expect the TARGET_PAGE_SIZE to 4096, and the xenpv -machine on ARM will have no CPU definitions. We need to define -TARGET_PAGE_SIZE appropriately ourselves. - -Signed-off-by: Vikram Garhwal -Signed-off-by: Stefano Stabellini -Reviewed-by: Stefano Stabellini ---- - hw/arm/meson.build | 1 + - hw/arm/xen_arm.c | 156 ++++++++++++++++++++++++++++++++++ - include/hw/arm/xen_arch_hvm.h | 12 +++ - include/hw/xen/arch_hvm.h | 2 + - 4 files changed, 171 insertions(+) - create mode 100644 hw/arm/xen_arm.c - create mode 100644 include/hw/arm/xen_arch_hvm.h - -diff --git a/hw/arm/meson.build b/hw/arm/meson.build -index 3aac913bfd..0cae024374 100644 ---- a/hw/arm/meson.build -+++ b/hw/arm/meson.build -@@ -62,6 +62,7 @@ arm_ss.add(when: 'CONFIG_FSL_IMX7', if_true: files('fsl-imx7.c', 'mcimx7d-sabre. - arm_ss.add(when: 'CONFIG_ARM_SMMUV3', if_true: files('smmu-common.c', 'smmuv3.c')) - arm_ss.add(when: 'CONFIG_FSL_IMX6UL', if_true: files('fsl-imx6ul.c', 'mcimx6ul-evk.c')) - arm_ss.add(when: 'CONFIG_NRF51_SOC', if_true: files('nrf51_soc.c')) -+arm_ss.add(when: 'CONFIG_XEN', if_true: files('xen_arm.c')) - arm_ss.add_all(xen_ss) - - hw_arch += {'arm': arm_ss} -diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c -new file mode 100644 -index 0000000000..0922e3db84 ---- /dev/null -+++ b/hw/arm/xen_arm.c -@@ -0,0 +1,156 @@ -+/* -+ * QEMU ARM Xen PV Machine -+ * -+ * -+ * Permission is hereby granted, free of charge, to any person obtaining a copy -+ * of this software and associated documentation files (the "Software"), to deal -+ * in the Software without restriction, including without limitation the rights -+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -+ * copies of the Software, and to permit persons to whom the Software is -+ * furnished to do so, subject to the following conditions: -+ * -+ * The above copyright notice and this permission notice shall be included in -+ * all copies or substantial portions of the Software. -+ * -+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL -+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -+ * THE SOFTWARE. -+ */ -+ -+#include "qemu/osdep.h" -+#include "qemu/error-report.h" -+#include "qapi/qapi-commands-migration.h" -+#include "hw/boards.h" -+#include "hw/sysbus.h" -+#include "sysemu/block-backend.h" -+#include "sysemu/tpm_backend.h" -+#include "sysemu/sysemu.h" -+#include "hw/xen/xen-legacy-backend.h" -+#include "hw/xen/xen-hvm-common.h" -+#include "sysemu/tpm.h" -+#include "hw/xen/arch_hvm.h" -+ -+#define TYPE_XEN_ARM MACHINE_TYPE_NAME("xenpv") -+OBJECT_DECLARE_SIMPLE_TYPE(XenArmState, XEN_ARM) -+ -+static MemoryListener xen_memory_listener = { -+ .region_add = xen_region_add, -+ .region_del = xen_region_del, -+ .log_start = NULL, -+ .log_stop = NULL, -+ .log_sync = NULL, -+ .log_global_start = NULL, -+ .log_global_stop = NULL, -+ .priority = 10, -+}; -+ -+struct XenArmState { -+ /*< private >*/ -+ MachineState parent; -+ -+ XenIOState *state; -+}; -+ -+void arch_handle_ioreq(XenIOState *state, ioreq_t *req) -+{ -+ hw_error("Invalid ioreq type 0x%x\n", req->type); -+ -+ return; -+} -+ -+void arch_xen_set_memory(XenIOState *state,MemoryRegionSection *section, -+ bool add) -+{ -+} -+ -+void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length) -+{ -+} -+ -+void qmp_xen_set_global_dirty_log(bool enable, Error **errp) -+{ -+} -+ -+static int xen_init_ioreq(XenIOState *state, unsigned int max_cpus) -+{ -+ xen_dmod = xendevicemodel_open(0, 0); -+ xen_xc = xc_interface_open(0, 0, 0); -+ -+ if (xen_xc == NULL) { -+ perror("xen: can't open xen interface\n"); -+ return -1; -+ } -+ -+ xen_fmem = xenforeignmemory_open(0, 0); -+ if (xen_fmem == NULL) { -+ perror("xen: can't open xen fmem interface\n"); -+ xc_interface_close(xen_xc); -+ return -1; -+ } -+ -+ xen_register_ioreq(state, max_cpus, xen_memory_listener); -+ -+ xenstore_record_dm_state(xenstore, "running"); -+ -+ return 0; -+} -+ -+ -+static void xen_arm_init(MachineState *machine) -+{ -+ DeviceState *dev; -+ SysBusDevice *busdev; -+ Error *errp = NULL; -+ XenArmState *xam = XEN_ARM(machine); -+ -+ xam->state = g_new0(XenIOState, 1); -+ -+ if (xen_init_ioreq(xam->state, machine->smp.cpus)) { -+ return; -+ } -+ -+ TPMBackend *be = qemu_find_tpm_be("tpm0"); -+ if (be == NULL) { -+ DPRINTF("Couldn't fine the backend for tpm0\n"); -+ return; -+ } -+ -+ dev = qdev_new(TYPE_TPM_TIS_SYSBUS); -+ object_property_set_link(OBJECT(dev), "tpmdev", OBJECT(be), &errp); -+ object_property_set_str(OBJECT(dev), "tpmdev", be->id, &errp); -+ busdev = SYS_BUS_DEVICE(dev); -+ sysbus_realize_and_unref(busdev, &error_fatal); -+ sysbus_mmio_map(busdev, 0, GUEST_TPM_BASE); -+ -+ DPRINTF("Connected tpmdev at address 0x%lx\n", GUEST_TPM_BASE); -+ -+ return; -+} -+ -+static void xen_arm_machine_class_init(ObjectClass *oc, void *data) -+{ -+ -+ MachineClass *mc = MACHINE_CLASS(oc); -+ mc->desc = "Xen Para-virtualized PC"; -+ mc->init = xen_arm_init; -+ mc->max_cpus = 1; -+ machine_class_allow_dynamic_sysbus_dev(mc, TYPE_TPM_TIS_SYSBUS); -+} -+ -+static const TypeInfo xen_arm_machine_type = { -+ .name = TYPE_XEN_ARM, -+ .parent = TYPE_MACHINE, -+ .class_init = xen_arm_machine_class_init, -+ .instance_size = sizeof(XenArmState), -+}; -+ -+static void xen_arm_machine_register_types(void) -+{ -+ type_register_static(&xen_arm_machine_type); -+} -+ -+type_init(xen_arm_machine_register_types) -diff --git a/include/hw/arm/xen_arch_hvm.h b/include/hw/arm/xen_arch_hvm.h -new file mode 100644 -index 0000000000..f645dfec28 ---- /dev/null -+++ b/include/hw/arm/xen_arch_hvm.h -@@ -0,0 +1,12 @@ -+#ifndef HW_XEN_ARCH_ARM_HVM_H -+#define HW_XEN_ARCH_ARM_HVM_H -+ -+#include -+void arch_handle_ioreq(XenIOState *state, ioreq_t *req); -+void arch_xen_set_memory(XenIOState *state, -+ MemoryRegionSection *section, -+ bool add); -+ -+#undef TARGET_PAGE_SIZE -+#define TARGET_PAGE_SIZE 4096 -+#endif -diff --git a/include/hw/xen/arch_hvm.h b/include/hw/xen/arch_hvm.h -index 26674648d8..c7c515220d 100644 ---- a/include/hw/xen/arch_hvm.h -+++ b/include/hw/xen/arch_hvm.h -@@ -1,3 +1,5 @@ - #if defined(TARGET_I386) || defined(TARGET_X86_64) - #include "hw/i386/xen_arch_hvm.h" -+#elif defined(TARGET_ARM) || defined(TARGET_ARM_64) -+#include "hw/arm/xen_arch_hvm.h" - #endif --- -2.17.1 - diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0011-meson.build-do-not-set-have_xen_pci_passthrough-for-.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0011-meson.build-do-not-set-have_xen_pci_passthrough-for-.patch deleted file mode 100644 index dad3029f..00000000 --- a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0011-meson.build-do-not-set-have_xen_pci_passthrough-for-.patch +++ /dev/null @@ -1,33 +0,0 @@ -From f4ff3490639dea08fb70ec69d60fe73ef479073b Mon Sep 17 00:00:00 2001 -From: Stefano Stabellini -Date: Thu, 7 Jul 2022 14:03:41 -0700 -Subject: [PATCH 11/16] meson.build: do not set have_xen_pci_passthrough for - aarch64 targets -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -have_xen_pci_passthrough is only used for Xen x86 VMs. - -Signed-off-by: Stefano Stabellini -Reviewed-by: Alex Bennée ---- - meson.build | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/meson.build b/meson.build -index b94f0cd76e..a4965251ab 100644 ---- a/meson.build -+++ b/meson.build -@@ -1469,6 +1469,8 @@ have_xen_pci_passthrough = get_option('xen_pci_passthrough') \ - error_message: 'Xen PCI passthrough requested but Xen not enabled') \ - .require(targetos == 'linux', - error_message: 'Xen PCI passthrough not available on this platform') \ -+ .require(cpu == 'x86' or cpu == 'x86_64', -+ error_message: 'Xen PCI passthrough not available on this platform') \ - .allowed() - - --- -2.17.1 - diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0012-xen-arm-call-qemu_find_tpm_be-if-CONFIG_TPM.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0012-xen-arm-call-qemu_find_tpm_be-if-CONFIG_TPM.patch deleted file mode 100644 index f80a0873..00000000 --- a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0012-xen-arm-call-qemu_find_tpm_be-if-CONFIG_TPM.patch +++ /dev/null @@ -1,72 +0,0 @@ -From a26982a55fa5f47116b344ca5d411f00c3a2b422 Mon Sep 17 00:00:00 2001 -From: Stefano Stabellini -Date: Thu, 7 Jul 2022 14:35:33 -0700 -Subject: [PATCH 12/16] xen-arm: call qemu_find_tpm_be if CONFIG_TPM - -qemu_find_tpm_be is only availablen when CONFIG_TPM is enabled. -So #ifdef the call to make sure the code builds correctly even when -CONFIG_TPM is not enabled. - -Signed-off-by: Stefano Stabellini ---- - hw/arm/xen_arm.c | 28 +++++++++++++++++----------- - 1 file changed, 17 insertions(+), 11 deletions(-) - -diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c -index 0922e3db84..f248b5744a 100644 ---- a/hw/arm/xen_arm.c -+++ b/hw/arm/xen_arm.c -@@ -99,26 +99,18 @@ static int xen_init_ioreq(XenIOState *state, unsigned int max_cpus) - return 0; - } - -- --static void xen_arm_init(MachineState *machine) -+static void xen_enable_tpm(void) - { -+#ifdef CONFIG_TPM -+ Error *errp = NULL; - DeviceState *dev; - SysBusDevice *busdev; -- Error *errp = NULL; -- XenArmState *xam = XEN_ARM(machine); -- -- xam->state = g_new0(XenIOState, 1); -- -- if (xen_init_ioreq(xam->state, machine->smp.cpus)) { -- return; -- } - - TPMBackend *be = qemu_find_tpm_be("tpm0"); - if (be == NULL) { - DPRINTF("Couldn't fine the backend for tpm0\n"); - return; - } -- - dev = qdev_new(TYPE_TPM_TIS_SYSBUS); - object_property_set_link(OBJECT(dev), "tpmdev", OBJECT(be), &errp); - object_property_set_str(OBJECT(dev), "tpmdev", be->id, &errp); -@@ -127,6 +119,20 @@ static void xen_arm_init(MachineState *machine) - sysbus_mmio_map(busdev, 0, GUEST_TPM_BASE); - - DPRINTF("Connected tpmdev at address 0x%lx\n", GUEST_TPM_BASE); -+#endif -+} -+ -+static void xen_arm_init(MachineState *machine) -+{ -+ XenArmState *xam = XEN_ARM(machine); -+ -+ xam->state = g_new0(XenIOState, 1); -+ -+ if (xen_init_ioreq(xam->state, machine->smp.cpus)) { -+ return; -+ } -+ -+ xen_enable_tpm(); - - return; - } --- -2.17.1 - diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0013-arm-xenpv-fix-TPM-address-print-warning.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0013-arm-xenpv-fix-TPM-address-print-warning.patch deleted file mode 100644 index 1aa09efb..00000000 --- a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0013-arm-xenpv-fix-TPM-address-print-warning.patch +++ /dev/null @@ -1,27 +0,0 @@ -From c5b128668d9cd1e1cb4da80d5bc8aaebc6ff2e19 Mon Sep 17 00:00:00 2001 -From: Vikram Garhwal -Date: Fri, 23 Dec 2022 00:06:29 +0000 -Subject: [PATCH 13/16] arm: xenpv: fix TPM address print warning - -Signed-off-by: Vikram Garhwal -Acked-by: Stefano Stabellini ---- - hw/arm/xen_arm.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c -index f248b5744a..153cedfeb4 100644 ---- a/hw/arm/xen_arm.c -+++ b/hw/arm/xen_arm.c -@@ -118,7 +118,7 @@ static void xen_enable_tpm(void) - sysbus_realize_and_unref(busdev, &error_fatal); - sysbus_mmio_map(busdev, 0, GUEST_TPM_BASE); - -- DPRINTF("Connected tpmdev at address 0x%lx\n", GUEST_TPM_BASE); -+ DPRINTF("Connected tpmdev at address 0x%llx\n", GUEST_TPM_BASE); - #endif - } - --- -2.17.1 - diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0014-xen_arm-Create-virtio-mmio-devices-during-initializa.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0014-xen_arm-Create-virtio-mmio-devices-during-initializa.patch deleted file mode 100644 index a6925acf..00000000 --- a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0014-xen_arm-Create-virtio-mmio-devices-during-initializa.patch +++ /dev/null @@ -1,83 +0,0 @@ -From 3dc39d71c3652bea37dc955d5dbf8cd391d2aed0 Mon Sep 17 00:00:00 2001 -From: Oleksandr Tyshchenko -Date: Sat, 30 Jul 2022 17:51:19 +0300 -Subject: [PATCH 14/16] xen_arm: Create virtio-mmio devices during - initialization - -In order to use virtio backends we need to allocate virtio-mmio -parameters (irq and base) and register corresponding buses. - -Use the constants defined in public header arch-arm.h to be -aligned with the toolstack. So the number of current supported -virtio-mmio devices is 10. - -For the interrupts triggering use already existing on Arm -device-model hypercall. - -The toolstack should then insert the same amount of device nodes -into guest device-tree. - -Signed-off-by: Oleksandr Tyshchenko -Signed-off-by: Vikram Garhwal -Reviewed-by: Stefano Stabellini ---- - hw/arm/xen_arm.c | 29 +++++++++++++++++++++++++++++ - 1 file changed, 29 insertions(+) - -diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c -index 153cedfeb4..2012ee7aff 100644 ---- a/hw/arm/xen_arm.c -+++ b/hw/arm/xen_arm.c -@@ -25,6 +25,7 @@ - #include "qemu/error-report.h" - #include "qapi/qapi-commands-migration.h" - #include "hw/boards.h" -+#include "hw/irq.h" - #include "hw/sysbus.h" - #include "sysemu/block-backend.h" - #include "sysemu/tpm_backend.h" -@@ -55,6 +56,32 @@ struct XenArmState { - XenIOState *state; - }; - -+#define VIRTIO_MMIO_DEV_SIZE 0x200 -+ -+#define NR_VIRTIO_MMIO_DEVICES \ -+ (GUEST_VIRTIO_MMIO_SPI_LAST - GUEST_VIRTIO_MMIO_SPI_FIRST) -+ -+static void xen_set_irq(void *opaque, int irq, int level) -+{ -+ xendevicemodel_set_irq_level(xen_dmod, xen_domid, irq, level); -+} -+ -+static void xen_create_virtio_mmio_devices(XenArmState *xam) -+{ -+ int i; -+ -+ for (i = 0; i < NR_VIRTIO_MMIO_DEVICES; i++) { -+ hwaddr base = GUEST_VIRTIO_MMIO_BASE + i * VIRTIO_MMIO_DEV_SIZE; -+ qemu_irq irq = qemu_allocate_irq(xen_set_irq, NULL, -+ GUEST_VIRTIO_MMIO_SPI_FIRST + i); -+ -+ sysbus_create_simple("virtio-mmio", base, irq); -+ -+ DPRINTF("Created virtio-mmio device %d: irq %d base 0x%lx\n", -+ i, GUEST_VIRTIO_MMIO_SPI_FIRST + i, base); -+ } -+} -+ - void arch_handle_ioreq(XenIOState *state, ioreq_t *req) - { - hw_error("Invalid ioreq type 0x%x\n", req->type); -@@ -132,6 +159,8 @@ static void xen_arm_init(MachineState *machine) - return; - } - -+ xen_create_virtio_mmio_devices(xam); -+ - xen_enable_tpm(); - - return; --- -2.17.1 - diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0015-xen_arm-Initialize-RAM-and-add-hi-low-memory-regions.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0015-xen_arm-Initialize-RAM-and-add-hi-low-memory-regions.patch deleted file mode 100644 index 7c2b272d..00000000 --- a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0015-xen_arm-Initialize-RAM-and-add-hi-low-memory-regions.patch +++ /dev/null @@ -1,105 +0,0 @@ -From a284a53c5374e19ac37b884f2dd50293e7c8070e Mon Sep 17 00:00:00 2001 -From: Oleksandr Tyshchenko -Date: Sat, 30 Jul 2022 17:18:06 +0300 -Subject: [PATCH 15/16] xen_arm: Initialize RAM and add hi/low memory regions - -In order to use virtio backends we need to initialize RAM for the -xen-mapcache (which is responsible for mapping guest memory using foreign -mapping) to work. Calculate and add hi/low memory regions based on -machine->ram_size. - -Use the constants defined in public header arch-arm.h to be aligned with the -toolstack. - -The toolstack should then pass real ram_size using "-m" arg. -If "-m" is not given, create a QEMU machine without IOREQ, TPM and VIRTIO to -keep it usable for /etc/init.d/xencommons. - -Signed-off-by: Oleksandr Tyshchenko -Signed-off-by: Vikram Garhwal -Reviewed-by: Stefano Stabellini ---- - hw/arm/xen_arm.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 46 insertions(+) - -diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c -index 2012ee7aff..fde919df29 100644 ---- a/hw/arm/xen_arm.c -+++ b/hw/arm/xen_arm.c -@@ -56,6 +56,8 @@ struct XenArmState { - XenIOState *state; - }; - -+static MemoryRegion ram_lo, ram_hi; -+ - #define VIRTIO_MMIO_DEV_SIZE 0x200 - - #define NR_VIRTIO_MMIO_DEVICES \ -@@ -82,6 +84,39 @@ static void xen_create_virtio_mmio_devices(XenArmState *xam) - } - } - -+static void xen_init_ram(MachineState *machine) -+{ -+ MemoryRegion *sysmem = get_system_memory(); -+ ram_addr_t block_len, ram_size[GUEST_RAM_BANKS]; -+ -+ if (machine->ram_size <= GUEST_RAM0_SIZE) { -+ ram_size[0] = machine->ram_size; -+ ram_size[1] = 0; -+ block_len = GUEST_RAM0_BASE + ram_size[0]; -+ } else { -+ ram_size[0] = GUEST_RAM0_SIZE; -+ ram_size[1] = machine->ram_size - GUEST_RAM0_SIZE; -+ block_len = GUEST_RAM1_BASE + ram_size[1]; -+ } -+ -+ memory_region_init_ram(&ram_memory, NULL, "xen.ram", block_len, -+ &error_fatal); -+ -+ memory_region_init_alias(&ram_lo, NULL, "xen.ram.lo", &ram_memory, -+ GUEST_RAM0_BASE, ram_size[0]); -+ memory_region_add_subregion(sysmem, GUEST_RAM0_BASE, &ram_lo); -+ DPRINTF("Initialized region xen.ram.lo: base 0x%llx size 0x%lx\n", -+ GUEST_RAM0_BASE, ram_size[0]); -+ -+ if (ram_size[1] > 0) { -+ memory_region_init_alias(&ram_hi, NULL, "xen.ram.hi", &ram_memory, -+ GUEST_RAM1_BASE, ram_size[1]); -+ memory_region_add_subregion(sysmem, GUEST_RAM1_BASE, &ram_hi); -+ DPRINTF("Initialized region xen.ram.hi: base 0x%llx size 0x%lx\n", -+ GUEST_RAM1_BASE, ram_size[1]); -+ } -+} -+ - void arch_handle_ioreq(XenIOState *state, ioreq_t *req) - { - hw_error("Invalid ioreq type 0x%x\n", req->type); -@@ -155,6 +190,14 @@ static void xen_arm_init(MachineState *machine) - - xam->state = g_new0(XenIOState, 1); - -+ if (machine->ram_size == 0) { -+ DPRINTF("ram_size not specified. QEMU machine will be started without" -+ " TPM, IOREQ and Virtio-MMIO backends\n"); -+ return; -+ } -+ -+ xen_init_ram(machine); -+ - if (xen_init_ioreq(xam->state, machine->smp.cpus)) { - return; - } -@@ -173,6 +216,9 @@ static void xen_arm_machine_class_init(ObjectClass *oc, void *data) - mc->desc = "Xen Para-virtualized PC"; - mc->init = xen_arm_init; - mc->max_cpus = 1; -+ /* Set explicitly here to make sure that real ram_size is passed */ -+ mc->default_ram_size = 0; -+ - machine_class_allow_dynamic_sysbus_dev(mc, TYPE_TPM_TIS_SYSBUS); - } - --- -2.17.1 - diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0016-xen_arm-Add-accel-xen-and-drop-extra-interface-openi.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0016-xen_arm-Add-accel-xen-and-drop-extra-interface-openi.patch deleted file mode 100644 index 14f2e240..00000000 --- a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu/0016-xen_arm-Add-accel-xen-and-drop-extra-interface-openi.patch +++ /dev/null @@ -1,79 +0,0 @@ -From a730d5ea4a0445a8c694b56583dd06bd000fae74 Mon Sep 17 00:00:00 2001 -From: Vikram Garhwal -Date: Wed, 4 Jan 2023 23:05:25 +0000 -Subject: [PATCH 16/16] xen_arm: Add "accel = xen" and drop extra interface - openings - -In order to use virtio backends we need to make sure that Xen accelerator -is enabled (xen_enabled() returns true) as the memory/cache systems -check for xen_enabled() to perform specific actions. Without that -the xen-mapcache (which is needed for mapping guest memory) is not in use. - -Also drop extra interface opening as this is already done in xen-all.c -(so drop xen_init_ioreq() completely) and skip virtio/tpm initialization -if device emulation is not available. - -Signed-off-by: Oleksandr Tyshchenko -Signed-off-by: Vikram Garhwal -Reviewed-by: Stefano Stabellini ---- - hw/arm/xen_arm.c | 29 ++--------------------------- - 1 file changed, 2 insertions(+), 27 deletions(-) - -diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c -index fde919df29..4ac425a3c5 100644 ---- a/hw/arm/xen_arm.c -+++ b/hw/arm/xen_arm.c -@@ -137,30 +137,6 @@ void qmp_xen_set_global_dirty_log(bool enable, Error **errp) - { - } - --static int xen_init_ioreq(XenIOState *state, unsigned int max_cpus) --{ -- xen_dmod = xendevicemodel_open(0, 0); -- xen_xc = xc_interface_open(0, 0, 0); -- -- if (xen_xc == NULL) { -- perror("xen: can't open xen interface\n"); -- return -1; -- } -- -- xen_fmem = xenforeignmemory_open(0, 0); -- if (xen_fmem == NULL) { -- perror("xen: can't open xen fmem interface\n"); -- xc_interface_close(xen_xc); -- return -1; -- } -- -- xen_register_ioreq(state, max_cpus, xen_memory_listener); -- -- xenstore_record_dm_state(xenstore, "running"); -- -- return 0; --} -- - static void xen_enable_tpm(void) - { - #ifdef CONFIG_TPM -@@ -198,9 +174,7 @@ static void xen_arm_init(MachineState *machine) - - xen_init_ram(machine); - -- if (xen_init_ioreq(xam->state, machine->smp.cpus)) { -- return; -- } -+ xen_register_ioreq(xam->state, machine->smp.cpus, xen_memory_listener); - - xen_create_virtio_mmio_devices(xam); - -@@ -218,6 +192,7 @@ static void xen_arm_machine_class_init(ObjectClass *oc, void *data) - mc->max_cpus = 1; - /* Set explicitly here to make sure that real ram_size is passed */ - mc->default_ram_size = 0; -+ mc->default_machine_opts = "accel=xen"; - - machine_class_allow_dynamic_sysbus_dev(mc, TYPE_TPM_TIS_SYSBUS); - } --- -2.17.1 - diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu_7.1%.bbappend b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu_7.1%.bbappend index 3e93710c..5cb9f0d0 100644 --- a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu_7.1%.bbappend +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu_7.1%.bbappend @@ -1,5 +1,5 @@ require qemu-tpm.inc -require qemu-xen.inc +require qemu-xen_7.1.inc # We do not want QEMU, on the target to be configured with OpenGL -PACKAGECONFIG:remove:class-target:petalinux = "virglrenderer epoxy gtk+" +PACKAGECONFIG:remove:class-target = "virglrenderer epoxy gtk+" -- cgit v1.2.3-54-g00ecf From 6af6307abbb0ea172cc7ecb301a886908c9a3aa2 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Fri, 19 Jan 2024 13:41:56 -0700 Subject: xen: Rename recipes and inc file to 4.17 version Rename xen recipes and inc file to 4.17 version so that it will be easy to make changes for 4.17 and new version. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- .../recipes-extended/xen/xen-tools-xilinx.inc | 25 ++++++++++++++++++++ .../recipes-extended/xen/xen-tools_%.bbappend | 27 ---------------------- .../recipes-extended/xen/xen-tools_4.17.bbappend | 2 ++ .../recipes-extended/xen/xen-xilinx.inc | 7 ------ .../recipes-extended/xen/xen-xilinx_4.17.inc | 7 ++++++ .../recipes-extended/xen/xen_%.bbappend | 20 ---------------- .../recipes-extended/xen/xen_4.17.bbappend | 20 ++++++++++++++++ 7 files changed, 54 insertions(+), 54 deletions(-) create mode 100644 meta-xilinx-virtualization/recipes-extended/xen/xen-tools-xilinx.inc delete mode 100644 meta-xilinx-virtualization/recipes-extended/xen/xen-tools_%.bbappend create mode 100644 meta-xilinx-virtualization/recipes-extended/xen/xen-tools_4.17.bbappend delete mode 100644 meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx.inc create mode 100644 meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx_4.17.inc delete mode 100644 meta-xilinx-virtualization/recipes-extended/xen/xen_%.bbappend create mode 100644 meta-xilinx-virtualization/recipes-extended/xen/xen_4.17.bbappend diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen-tools-xilinx.inc b/meta-xilinx-virtualization/recipes-extended/xen/xen-tools-xilinx.inc new file mode 100644 index 00000000..e7bc8d7e --- /dev/null +++ b/meta-xilinx-virtualization/recipes-extended/xen/xen-tools-xilinx.inc @@ -0,0 +1,25 @@ +# Only include the sysvinit scripts if sysvinit is enabled. +do_install:append () { + if [ -e ${D}/usr/lib/xen/bin/pygrub ]; then + sed -i -e '1c#!/usr/bin/env python3' ${D}/usr/lib/xen/bin/pygrub + fi + + if [ "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'sysvinit', '', d)}" != 'sysvinit' ]; then + rm -f ${D}/etc/init.d/xendomains + rm -f ${D}/etc/init.d/xencommons + rm -f ${D}/etc/init.d/xendriverdomain + rm -f ${D}/etc/init.d/xen-watchdog + fi +} + +# If we're in a hybrid configuration, we want to stop the system from +# running any Xen sysvinit scripts +# This has a side effect of, on a hybrid system, if the init manager is +# sysvinit, the user will need to manually enable Xen. +INHIBIT_UPDATERCD_BBCLASS = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '1', '', d)}" + +FILES:${PN} += " \ + ${libdir}/xen/bin/init-dom0less \ + ${libdir}/xen/bin/get_overlay \ + ${libdir}/xen/bin/get_overlay.sh \ + " diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen-tools_%.bbappend b/meta-xilinx-virtualization/recipes-extended/xen/xen-tools_%.bbappend deleted file mode 100644 index a9675ce3..00000000 --- a/meta-xilinx-virtualization/recipes-extended/xen/xen-tools_%.bbappend +++ /dev/null @@ -1,27 +0,0 @@ -require xen-xilinx.inc - -# Only include the sysvinit scripts if sysvinit is enabled. -do_install:append () { - if [ -e ${D}/usr/lib/xen/bin/pygrub ]; then - sed -i -e '1c#!/usr/bin/env python3' ${D}/usr/lib/xen/bin/pygrub - fi - - if [ "${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'sysvinit', '', d)}" != 'sysvinit' ]; then - rm -f ${D}/etc/init.d/xendomains - rm -f ${D}/etc/init.d/xencommons - rm -f ${D}/etc/init.d/xendriverdomain - rm -f ${D}/etc/init.d/xen-watchdog - fi -} - -# If we're in a hybrid configuration, we want to stop the system from -# running any Xen sysvinit scripts -# This has a side effect of, on a hybrid system, if the init manager is -# sysvinit, the user will need to manually enable Xen. -INHIBIT_UPDATERCD_BBCLASS = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '1', '', d)}" - -FILES:${PN} += " \ - ${libdir}/xen/bin/init-dom0less \ - ${libdir}/xen/bin/get_overlay \ - ${libdir}/xen/bin/get_overlay.sh \ - " diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen-tools_4.17.bbappend b/meta-xilinx-virtualization/recipes-extended/xen/xen-tools_4.17.bbappend new file mode 100644 index 00000000..d033e1d2 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-extended/xen/xen-tools_4.17.bbappend @@ -0,0 +1,2 @@ +require xen-xilinx_4.17.inc +require xen-tools-xilinx.inc diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx.inc b/meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx.inc deleted file mode 100644 index d7810b27..00000000 --- a/meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx.inc +++ /dev/null @@ -1,7 +0,0 @@ -SRCREV = "38eebc6e5c6f7aa9180672a56d33217bf1ef1ca6" -XEN_URI = "git://github.com/Xilinx/xen.git;protocol=https" -XEN_BRANCH = "xlnx_rebase_4.17" - -PV .= "-xilinx+git${SRCPV}" - -DEFAULT_PREFERENCE = "+1" diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx_4.17.inc b/meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx_4.17.inc new file mode 100644 index 00000000..d7810b27 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx_4.17.inc @@ -0,0 +1,7 @@ +SRCREV = "38eebc6e5c6f7aa9180672a56d33217bf1ef1ca6" +XEN_URI = "git://github.com/Xilinx/xen.git;protocol=https" +XEN_BRANCH = "xlnx_rebase_4.17" + +PV .= "-xilinx+git${SRCPV}" + +DEFAULT_PREFERENCE = "+1" diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen_%.bbappend b/meta-xilinx-virtualization/recipes-extended/xen/xen_%.bbappend deleted file mode 100644 index f0340f1c..00000000 --- a/meta-xilinx-virtualization/recipes-extended/xen/xen_%.bbappend +++ /dev/null @@ -1,20 +0,0 @@ -require xen-xilinx.inc - -FILESEXTRAPATHS:prepend := "${THISDIR}/files:" - -RDEPENDS:${PN}-efi += "bash python3" - -do_deploy:append() { - # Mimic older behavior for compatibility - if [ -f ${DEPLOYDIR}/xen-${MACHINE} ]; then - ln -s xen-${MACHINE} ${DEPLOYDIR}/xen - fi - - if [ -f ${DEPLOYDIR}/xen-${MACHINE}.gz ]; then - ln -s xen-${MACHINE}.gz ${DEPLOYDIR}/xen.gz - fi - - if [ -f ${DEPLOYDIR}/xen-${MACHINE}.efi ]; then - ln -s xen-${MACHINE}.efi ${DEPLOYDIR}/xen.efi - fi -} diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen_4.17.bbappend b/meta-xilinx-virtualization/recipes-extended/xen/xen_4.17.bbappend new file mode 100644 index 00000000..a569a96d --- /dev/null +++ b/meta-xilinx-virtualization/recipes-extended/xen/xen_4.17.bbappend @@ -0,0 +1,20 @@ +require xen-xilinx_4.17.inc + +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + +RDEPENDS:${PN}-efi += "bash python3" + +do_deploy:append() { + # Mimic older behavior for compatibility + if [ -f ${DEPLOYDIR}/xen-${MACHINE} ]; then + ln -s xen-${MACHINE} ${DEPLOYDIR}/xen + fi + + if [ -f ${DEPLOYDIR}/xen-${MACHINE}.gz ]; then + ln -s xen-${MACHINE}.gz ${DEPLOYDIR}/xen.gz + fi + + if [ -f ${DEPLOYDIR}/xen-${MACHINE}.efi ]; then + ln -s xen-${MACHINE}.efi ${DEPLOYDIR}/xen.efi + fi +} -- cgit v1.2.3-54-g00ecf From 36107a2994baadf0190f032126c5ce607d31d096 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Fri, 19 Jan 2024 13:41:57 -0700 Subject: xen: Copy 4.18 recipes from meta-virtualization master Copy xen 4.18 recipes from meta-virtualization master to this layer to support xen 4.18 as meta-virtualization langdale release doesn't support 4.18 version. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- ...001-python-pygrub-pass-DISTUTILS-xen-4.18.patch | 43 ++++++++++++++++++++++ .../recipes-extended/xen/xen-tools_4.18.bb | 21 +++++++++++ .../recipes-extended/xen/xen_4.18.bb | 21 +++++++++++ 3 files changed, 85 insertions(+) create mode 100644 meta-xilinx-virtualization/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.18.patch create mode 100644 meta-xilinx-virtualization/recipes-extended/xen/xen-tools_4.18.bb create mode 100644 meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb diff --git a/meta-xilinx-virtualization/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.18.patch b/meta-xilinx-virtualization/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.18.patch new file mode 100644 index 00000000..7ac1a399 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-extended/xen/files/0001-python-pygrub-pass-DISTUTILS-xen-4.18.patch @@ -0,0 +1,43 @@ +Upstream-Status: Pending + +diff --git a/tools/pygrub/Makefile b/tools/pygrub/Makefile +index 4963bc89c6..c1c05eb421 100644 +--- a/tools/pygrub/Makefile ++++ b/tools/pygrub/Makefile +@@ -13,14 +13,14 @@ setup.py = CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDSHARED="$(CC)" LDFLAGS="$(PY_LDFLA + all: build + .PHONY: build + build: +- $(setup.py) build ++ $(setup.py) build $(DISTUTILS_BUILD_ARGS) + + .PHONY: install + install: all + $(INSTALL_DIR) $(DESTDIR)/$(bindir) + $(INSTALL_DIR) $(DESTDIR)/$(LIBEXEC_BIN) + $(setup.py) install --record $(INSTALL_LOG) $(PYTHON_PREFIX_ARG) \ +- --root="$(DESTDIR)" --force ++ --root="$(DESTDIR)" --force $(DISTUTILS_INSTALL_ARGS) + $(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(LIBEXEC_BIN)/pygrub + set -e; if [ $(bindir) != $(LIBEXEC_BIN) -a \ + "`readlink -f $(DESTDIR)/$(bindir)`" != \ +diff --git a/tools/python/Makefile b/tools/python/Makefile +index 437431c48e..0a99c2067e 100644 +--- a/tools/python/Makefile ++++ b/tools/python/Makefile +@@ -16,13 +16,13 @@ setup.py = CC="$(CC)" CFLAGS="$(PY_CFLAGS)" LDSHARED="$(CC)" LDFLAGS="$(PY_LDFLA + + .PHONY: build + build: +- $(setup.py) build ++ $(setup.py) build $(DISTUTILS_BUILD_ARGS) + + .PHONY: install + install: + $(INSTALL_DIR) $(DESTDIR)$(LIBEXEC_BIN) + $(setup.py) install --record $(INSTALL_LOG) $(PYTHON_PREFIX_ARG) \ +- --root="$(DESTDIR)" --force ++ --root="$(DESTDIR)" --force $(DISTUTILS_INSTALL_ARGS) + $(INSTALL_PYTHON_PROG) scripts/convert-legacy-stream $(DESTDIR)$(LIBEXEC_BIN) + $(INSTALL_PYTHON_PROG) scripts/verify-stream-v2 $(DESTDIR)$(LIBEXEC_BIN) + diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen-tools_4.18.bb b/meta-xilinx-virtualization/recipes-extended/xen/xen-tools_4.18.bb new file mode 100644 index 00000000..a3b1e344 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-extended/xen/xen-tools_4.18.bb @@ -0,0 +1,21 @@ +# tag: RELEASE-4.18.0 +SRCREV ?= "d75f1e9b74314cea91ce435730d4e3539ecca77d" + +XEN_REL ?= "4.18" +XEN_BRANCH ?= "stable-4.18" + +SRC_URI = " \ + git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \ + file://0001-python-pygrub-pass-DISTUTILS-xen-4.18.patch \ + " + +LIC_FILES_CHKSUM ?= "file://COPYING;md5=d1a1e216f80b6d8da95fec897d0dbec9" + +PV = "${XEN_REL}+stable" + +S = "${WORKDIR}/git" + +DEFAULT_PREFERENCE ??= "-1" + +require xen.inc +require xen-tools.inc diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb b/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb new file mode 100644 index 00000000..8da44559 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb @@ -0,0 +1,21 @@ +# tag: RELEASE-4.18.0 +SRCREV ?= "d75f1e9b74314cea91ce435730d4e3539ecca77d" + +XEN_REL ?= "4.18" +XEN_BRANCH ?= "stable-4.18" + +SRC_URI = " \ + git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \ + file://0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-location.patch \ + " + +LIC_FILES_CHKSUM ?= "file://COPYING;md5=d1a1e216f80b6d8da95fec897d0dbec9" + +PV = "${XEN_REL}+stable" + +S = "${WORKDIR}/git" + +DEFAULT_PREFERENCE ??= "-1" + +require xen.inc +require xen-hypervisor.inc -- cgit v1.2.3-54-g00ecf From d1d32d3b7b052823dda679e11749678bf6eb9fab Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Fri, 19 Jan 2024 13:41:58 -0700 Subject: xen: Add bbapends and inc file to use Xilinx Xen 4.18 1. In upstream 4.18 recipes add XEN_URI variable and set xen upstream url as conditional assignment. Also unset PV and DEFAULT_PREFERENCE. 2. Add xen_4.18 and xen-tools_4.18 bbapends files use AMD Xilinx Xen 4.18.0. 3. Add xen-xilinx_4.18.inc file and include AMD Xilinx Xen 4.18.0 repo details and also set PV to make it clear this a forked version. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- .../recipes-extended/xen/xen-tools_4.18.bb | 7 ++----- .../recipes-extended/xen/xen-tools_4.18.bbappend | 2 ++ .../recipes-extended/xen/xen-xilinx_4.18.inc | 7 +++++++ .../recipes-extended/xen/xen_4.18.bb | 7 ++----- .../recipes-extended/xen/xen_4.18.bbappend | 20 ++++++++++++++++++++ 5 files changed, 33 insertions(+), 10 deletions(-) create mode 100644 meta-xilinx-virtualization/recipes-extended/xen/xen-tools_4.18.bbappend create mode 100644 meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx_4.18.inc create mode 100644 meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bbappend diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen-tools_4.18.bb b/meta-xilinx-virtualization/recipes-extended/xen/xen-tools_4.18.bb index a3b1e344..8baa2f53 100644 --- a/meta-xilinx-virtualization/recipes-extended/xen/xen-tools_4.18.bb +++ b/meta-xilinx-virtualization/recipes-extended/xen/xen-tools_4.18.bb @@ -1,21 +1,18 @@ # tag: RELEASE-4.18.0 SRCREV ?= "d75f1e9b74314cea91ce435730d4e3539ecca77d" +XEN_URI ?= "git://xenbits.xen.org/xen.git" XEN_REL ?= "4.18" XEN_BRANCH ?= "stable-4.18" SRC_URI = " \ - git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \ + ${XEN_URI};branch=${XEN_BRANCH} \ file://0001-python-pygrub-pass-DISTUTILS-xen-4.18.patch \ " LIC_FILES_CHKSUM ?= "file://COPYING;md5=d1a1e216f80b6d8da95fec897d0dbec9" -PV = "${XEN_REL}+stable" - S = "${WORKDIR}/git" -DEFAULT_PREFERENCE ??= "-1" - require xen.inc require xen-tools.inc diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen-tools_4.18.bbappend b/meta-xilinx-virtualization/recipes-extended/xen/xen-tools_4.18.bbappend new file mode 100644 index 00000000..86702979 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-extended/xen/xen-tools_4.18.bbappend @@ -0,0 +1,2 @@ +require xen-xilinx_4.18.inc +require xen-tools-xilinx.inc diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx_4.18.inc b/meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx_4.18.inc new file mode 100644 index 00000000..6ab22816 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx_4.18.inc @@ -0,0 +1,7 @@ +SRCREV = "6c8d45643aad8fcfe0e4b31ae9b36ceeb2bf91c5" +XEN_URI = "git://github.com/Xilinx/xen.git;protocol=https" +XEN_BRANCH = "xlnx_rebase_4.18" + +PV .= "-xilinx+git${SRCPV}" + +DEFAULT_PREFERENCE = "+1" diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb b/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb index 8da44559..d2a09a89 100644 --- a/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb +++ b/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb @@ -1,21 +1,18 @@ # tag: RELEASE-4.18.0 SRCREV ?= "d75f1e9b74314cea91ce435730d4e3539ecca77d" +XEN_URI ?= "git://xenbits.xen.org/xen.git" XEN_REL ?= "4.18" XEN_BRANCH ?= "stable-4.18" SRC_URI = " \ - git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \ + ${XEN_URI};branch=${XEN_BRANCH} \ file://0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-location.patch \ " LIC_FILES_CHKSUM ?= "file://COPYING;md5=d1a1e216f80b6d8da95fec897d0dbec9" -PV = "${XEN_REL}+stable" - S = "${WORKDIR}/git" -DEFAULT_PREFERENCE ??= "-1" - require xen.inc require xen-hypervisor.inc diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bbappend b/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bbappend new file mode 100644 index 00000000..e2c75566 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bbappend @@ -0,0 +1,20 @@ +require xen-xilinx_4.18.inc + +FILESEXTRAPATHS:prepend := "${THISDIR}/files:" + +RDEPENDS:${PN}-efi += "bash python3" + +do_deploy:append() { + # Mimic older behavior for compatibility + if [ -f ${DEPLOYDIR}/xen-${MACHINE} ]; then + ln -s xen-${MACHINE} ${DEPLOYDIR}/xen + fi + + if [ -f ${DEPLOYDIR}/xen-${MACHINE}.gz ]; then + ln -s xen-${MACHINE}.gz ${DEPLOYDIR}/xen.gz + fi + + if [ -f ${DEPLOYDIR}/xen-${MACHINE}.efi ]; then + ln -s xen-${MACHINE}.efi ${DEPLOYDIR}/xen.efi + fi +} -- cgit v1.2.3-54-g00ecf From c192fca9f62b732b5abde4c3633b13e839d654dc Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Fri, 19 Jan 2024 13:41:59 -0700 Subject: qemu: Add Xen 4.18 patches Add Xen 4.18 patches and limit patches to target recipes only. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- .../recipes-devtools/qemu/qemu-xen_8.1.inc | 19 ++ ...ate-virtio-mmio-devices-during-initializa.patch | 116 +++++++++ ...tialize-RAM-and-add-hi-low-memory-regions.patch | 124 ++++++++++ ..._set_irq-and-xendevicemodel_set_irq_level.patch | 55 +++++ ...plugging-emulated-devices-skip-virtio-dev.patch | 70 ++++++ .../0005-softmmu-physmem-Split-ram_block_add.patch | 117 +++++++++ ...-add-pseudo-RAM-region-for-grant-mappings.patch | 153 ++++++++++++ ...-qemu_map_ram_ptr-use-qemu_ram_ptr_length.patch | 117 +++++++++ ..._ram_addr_from_mapcache-return-1-in-case-.patch | 49 ++++ ...-add-MemoryRegion-map-and-unmap-callbacks.patch | 155 ++++++++++++ ...-map-and-unmap-callbacks-for-grant-region.patch | 262 +++++++++++++++++++++ .../0011-hw-arm-Add-grant-mapping.patch | 30 +++ .../qemu/qemu-xilinx_2024%.bbappend | 2 +- .../recipes-devtools/qemu/qemu_8.1%.bbappend | 4 +- 14 files changed, 1270 insertions(+), 3 deletions(-) create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xen_8.1.inc create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0001-xen_arm-Create-virtio-mmio-devices-during-initializa.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0002-xen_arm-Initialize-RAM-and-add-hi-low-memory-regions.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0003-Xen-Fix-xen_set_irq-and-xendevicemodel_set_irq_level.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0004-xen-when-unplugging-emulated-devices-skip-virtio-dev.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0005-softmmu-physmem-Split-ram_block_add.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0006-xen-add-pseudo-RAM-region-for-grant-mappings.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0007-softmmu-let-qemu_map_ram_ptr-use-qemu_ram_ptr_length.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0008-xen-let-xen_ram_addr_from_mapcache-return-1-in-case-.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0009-memory-add-MemoryRegion-map-and-unmap-callbacks.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0010-xen-add-map-and-unmap-callbacks-for-grant-region.patch create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0011-hw-arm-Add-grant-mapping.patch diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xen_8.1.inc b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xen_8.1.inc new file mode 100644 index 00000000..3cf6dae7 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xen_8.1.inc @@ -0,0 +1,19 @@ +# Xen-4.18 specific changes are only applicable on the target +SRC_URI_XEN = "" +SRC_URI_XEN:class-target = " \ + file://0001-xen_arm-Create-virtio-mmio-devices-during-initializa.patch \ + file://0002-xen_arm-Initialize-RAM-and-add-hi-low-memory-regions.patch \ + file://0003-Xen-Fix-xen_set_irq-and-xendevicemodel_set_irq_level.patch \ + file://0004-xen-when-unplugging-emulated-devices-skip-virtio-dev.patch \ + file://0005-softmmu-physmem-Split-ram_block_add.patch \ + file://0006-xen-add-pseudo-RAM-region-for-grant-mappings.patch \ + file://0007-softmmu-let-qemu_map_ram_ptr-use-qemu_ram_ptr_length.patch \ + file://0008-xen-let-xen_ram_addr_from_mapcache-return-1-in-case-.patch \ + file://0009-memory-add-MemoryRegion-map-and-unmap-callbacks.patch \ + file://0010-xen-add-map-and-unmap-callbacks-for-grant-region.patch \ + file://0011-hw-arm-Add-grant-mapping.patch \ + " + +FILESEXTRAPATHS:prepend:class-target := "${THISDIR}/qemu-xilinx-8.1:" + +SRC_URI .= "${@bb.utils.contains('DISTRO_FEATURES', 'xen', '${SRC_URI_XEN}', '', d)}" diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0001-xen_arm-Create-virtio-mmio-devices-during-initializa.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0001-xen_arm-Create-virtio-mmio-devices-during-initializa.patch new file mode 100644 index 00000000..1757e9e2 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0001-xen_arm-Create-virtio-mmio-devices-during-initializa.patch @@ -0,0 +1,116 @@ +From b9291457ca2eb4340c71d2eed08fde83916c9fa4 Mon Sep 17 00:00:00 2001 +From: Oleksandr Tyshchenko +Date: Tue, 29 Aug 2023 21:35:17 -0700 +Subject: [PATCH 01/11] xen_arm: Create virtio-mmio devices during + initialization + +In order to use virtio backends we need to allocate virtio-mmio +parameters (irq and base) and register corresponding buses. + +Use the constants defined in public header arch-arm.h to be +aligned with the toolstack. So the number of current supported +virtio-mmio devices is 10. + +For the interrupts triggering use already existing on Arm +device-model hypercall. + +The toolstack should then insert the same amount of device nodes +into guest device-tree. + +Signed-off-by: Oleksandr Tyshchenko +Signed-off-by: Vikram Garhwal +Reviewed-by: Stefano Stabellini +Signed-off-by: Stefano Stabellini +--- + hw/arm/xen_arm.c | 35 +++++++++++++++++++++++++++++++++++ + include/hw/xen/xen_native.h | 16 ++++++++++++++++ + 2 files changed, 51 insertions(+) + +diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c +index 1d3e6d481a..7393b37355 100644 +--- a/hw/arm/xen_arm.c ++++ b/hw/arm/xen_arm.c +@@ -26,6 +26,7 @@ + #include "qapi/qapi-commands-migration.h" + #include "qapi/visitor.h" + #include "hw/boards.h" ++#include "hw/irq.h" + #include "hw/sysbus.h" + #include "sysemu/block-backend.h" + #include "sysemu/tpm_backend.h" +@@ -59,6 +60,38 @@ struct XenArmState { + } cfg; + }; + ++/* ++ * VIRTIO_MMIO_DEV_SIZE is imported from tools/libs/light/libxl_arm.c under Xen ++ * repository. ++ * ++ * Origin: git://xenbits.xen.org/xen.git 2128143c114c ++ */ ++#define VIRTIO_MMIO_DEV_SIZE 0x200 ++ ++#define NR_VIRTIO_MMIO_DEVICES \ ++ (GUEST_VIRTIO_MMIO_SPI_LAST - GUEST_VIRTIO_MMIO_SPI_FIRST) ++ ++static void xen_set_irq(void *opaque, int irq, int level) ++{ ++ xendevicemodel_set_irq_level(xen_dmod, xen_domid, irq, level); ++} ++ ++static void xen_create_virtio_mmio_devices(XenArmState *xam) ++{ ++ int i; ++ ++ for (i = 0; i < NR_VIRTIO_MMIO_DEVICES; i++) { ++ hwaddr base = GUEST_VIRTIO_MMIO_BASE + i * VIRTIO_MMIO_DEV_SIZE; ++ qemu_irq irq = qemu_allocate_irq(xen_set_irq, NULL, ++ GUEST_VIRTIO_MMIO_SPI_FIRST + i); ++ ++ sysbus_create_simple("virtio-mmio", base, irq); ++ ++ DPRINTF("Created virtio-mmio device %d: irq %d base 0x%lx\n", ++ i, GUEST_VIRTIO_MMIO_SPI_FIRST + i, base); ++ } ++} ++ + void arch_handle_ioreq(XenIOState *state, ioreq_t *req) + { + hw_error("Invalid ioreq type 0x%x\n", req->type); +@@ -110,6 +143,8 @@ static void xen_arm_init(MachineState *machine) + + xen_register_ioreq(xam->state, machine->smp.cpus, &xen_memory_listener); + ++ xen_create_virtio_mmio_devices(xam); ++ + #ifdef CONFIG_TPM + if (xam->cfg.tpm_base_addr) { + xen_enable_tpm(xam); +diff --git a/include/hw/xen/xen_native.h b/include/hw/xen/xen_native.h +index 4dce905fde..a4b1aa9e5d 100644 +--- a/include/hw/xen/xen_native.h ++++ b/include/hw/xen/xen_native.h +@@ -523,4 +523,20 @@ static inline int xen_set_ioreq_server_state(domid_t dom, + enable); + } + ++#if CONFIG_XEN_CTRL_INTERFACE_VERSION <= 41500 ++static inline int xendevicemodel_set_irq_level(xendevicemodel_handle *dmod, ++ domid_t domid, uint32_t irq, ++ unsigned int level) ++{ ++ return 0; ++} ++#endif ++ ++#if CONFIG_XEN_CTRL_INTERFACE_VERSION <= 41700 ++#define GUEST_VIRTIO_MMIO_BASE xen_mk_ullong(0x02000000) ++#define GUEST_VIRTIO_MMIO_SIZE xen_mk_ullong(0x00100000) ++#define GUEST_VIRTIO_MMIO_SPI_FIRST 33 ++#define GUEST_VIRTIO_MMIO_SPI_LAST 43 ++#endif ++ + #endif /* QEMU_HW_XEN_NATIVE_H */ +-- +2.39.2 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0002-xen_arm-Initialize-RAM-and-add-hi-low-memory-regions.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0002-xen_arm-Initialize-RAM-and-add-hi-low-memory-regions.patch new file mode 100644 index 00000000..f88db620 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0002-xen_arm-Initialize-RAM-and-add-hi-low-memory-regions.patch @@ -0,0 +1,124 @@ +From 70a74795c5071bf591e6e557b7c8c492ead0e675 Mon Sep 17 00:00:00 2001 +From: Oleksandr Tyshchenko +Date: Tue, 29 Aug 2023 21:35:18 -0700 +Subject: [PATCH 02/11] xen_arm: Initialize RAM and add hi/low memory regions + +In order to use virtio backends we need to initialize RAM for the +xen-mapcache (which is responsible for mapping guest memory using foreign +mapping) to work. Calculate and add hi/low memory regions based on +machine->ram_size. + +Use the constants defined in public header arch-arm.h to be aligned with the xen +toolstack. + +While using this machine, the toolstack should then pass real ram_size using +"-m" arg. If "-m" is not given, create a QEMU machine without IOREQ and other +emulated devices like TPM and VIRTIO. This is done to keep this QEMU machine +usable for /etc/init.d/xencommons. + +Signed-off-by: Oleksandr Tyshchenko +Signed-off-by: Vikram Garhwal +Reviewed-by: Stefano Stabellini +Signed-off-by: Stefano Stabellini +--- + hw/arm/xen_arm.c | 45 +++++++++++++++++++++++++++++++++++++ + include/hw/xen/xen_native.h | 8 +++++++ + 2 files changed, 53 insertions(+) + +diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c +index 7393b37355..f83b983ec5 100644 +--- a/hw/arm/xen_arm.c ++++ b/hw/arm/xen_arm.c +@@ -60,6 +60,8 @@ struct XenArmState { + } cfg; + }; + ++static MemoryRegion ram_lo, ram_hi; ++ + /* + * VIRTIO_MMIO_DEV_SIZE is imported from tools/libs/light/libxl_arm.c under Xen + * repository. +@@ -92,6 +94,39 @@ static void xen_create_virtio_mmio_devices(XenArmState *xam) + } + } + ++static void xen_init_ram(MachineState *machine) ++{ ++ MemoryRegion *sysmem = get_system_memory(); ++ ram_addr_t block_len, ram_size[GUEST_RAM_BANKS]; ++ ++ if (machine->ram_size <= GUEST_RAM0_SIZE) { ++ ram_size[0] = machine->ram_size; ++ ram_size[1] = 0; ++ block_len = GUEST_RAM0_BASE + ram_size[0]; ++ } else { ++ ram_size[0] = GUEST_RAM0_SIZE; ++ ram_size[1] = machine->ram_size - GUEST_RAM0_SIZE; ++ block_len = GUEST_RAM1_BASE + ram_size[1]; ++ } ++ ++ memory_region_init_ram(&ram_memory, NULL, "xen.ram", block_len, ++ &error_fatal); ++ ++ memory_region_init_alias(&ram_lo, NULL, "xen.ram.lo", &ram_memory, ++ GUEST_RAM0_BASE, ram_size[0]); ++ memory_region_add_subregion(sysmem, GUEST_RAM0_BASE, &ram_lo); ++ DPRINTF("Initialized region xen.ram.lo: base 0x%llx size 0x%lx\n", ++ GUEST_RAM0_BASE, ram_size[0]); ++ ++ if (ram_size[1] > 0) { ++ memory_region_init_alias(&ram_hi, NULL, "xen.ram.hi", &ram_memory, ++ GUEST_RAM1_BASE, ram_size[1]); ++ memory_region_add_subregion(sysmem, GUEST_RAM1_BASE, &ram_hi); ++ DPRINTF("Initialized region xen.ram.hi: base 0x%llx size 0x%lx\n", ++ GUEST_RAM1_BASE, ram_size[1]); ++ } ++} ++ + void arch_handle_ioreq(XenIOState *state, ioreq_t *req) + { + hw_error("Invalid ioreq type 0x%x\n", req->type); +@@ -141,6 +176,14 @@ static void xen_arm_init(MachineState *machine) + + xam->state = g_new0(XenIOState, 1); + ++ if (machine->ram_size == 0) { ++ DPRINTF("ram_size not specified. QEMU machine started without IOREQ" ++ "(no emulated devices including Virtio)\n"); ++ return; ++ } ++ ++ xen_init_ram(machine); ++ + xen_register_ioreq(xam->state, machine->smp.cpus, &xen_memory_listener); + + xen_create_virtio_mmio_devices(xam); +@@ -188,6 +231,8 @@ static void xen_arm_machine_class_init(ObjectClass *oc, void *data) + mc->init = xen_arm_init; + mc->max_cpus = 1; + mc->default_machine_opts = "accel=xen"; ++ /* Set explicitly here to make sure that real ram_size is passed */ ++ mc->default_ram_size = 0; + + #ifdef CONFIG_TPM + object_class_property_add(oc, "tpm-base-addr", "uint64_t", +diff --git a/include/hw/xen/xen_native.h b/include/hw/xen/xen_native.h +index a4b1aa9e5d..5d2718261f 100644 +--- a/include/hw/xen/xen_native.h ++++ b/include/hw/xen/xen_native.h +@@ -539,4 +539,12 @@ static inline int xendevicemodel_set_irq_level(xendevicemodel_handle *dmod, + #define GUEST_VIRTIO_MMIO_SPI_LAST 43 + #endif + ++#if defined(__i386__) || defined(__x86_64__) ++#define GUEST_RAM_BANKS 2 ++#define GUEST_RAM0_BASE 0x40000000ULL /* 3GB of low RAM @ 1GB */ ++#define GUEST_RAM0_SIZE 0xc0000000ULL ++#define GUEST_RAM1_BASE 0x0200000000ULL /* 1016GB of RAM @ 8GB */ ++#define GUEST_RAM1_SIZE 0xfe00000000ULL ++#endif ++ + #endif /* QEMU_HW_XEN_NATIVE_H */ +-- +2.39.2 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0003-Xen-Fix-xen_set_irq-and-xendevicemodel_set_irq_level.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0003-Xen-Fix-xen_set_irq-and-xendevicemodel_set_irq_level.patch new file mode 100644 index 00000000..c6945d54 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0003-Xen-Fix-xen_set_irq-and-xendevicemodel_set_irq_level.patch @@ -0,0 +1,55 @@ +From 14b9dbd7f0261ae7a36bef251924ba211beef17a Mon Sep 17 00:00:00 2001 +From: Vikram Garhwal +Date: Wed, 1 Nov 2023 14:07:23 -0700 +Subject: [PATCH 03/11] Xen: Fix xen_set_irq() and + xendevicemodel_set_irq_level() + +Remove '=' from 'if CONFIG_XEN_CTRL_INTERFACE_VERSION <= 41500'. +Because xendevicemodel_set_irq_level() was introduced in 4.15 version. + +Also, update xendevicemodel_set_irq_level() to return -1 for older versions. + +Signed-off-by: Vikram Garhwal +Reviewed-by: Stefano Stabellini +--- + hw/arm/xen_arm.c | 4 +++- + include/hw/xen/xen_native.h | 4 ++-- + 2 files changed, 5 insertions(+), 3 deletions(-) + +diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c +index f83b983ec5..a5631529d0 100644 +--- a/hw/arm/xen_arm.c ++++ b/hw/arm/xen_arm.c +@@ -75,7 +75,9 @@ static MemoryRegion ram_lo, ram_hi; + + static void xen_set_irq(void *opaque, int irq, int level) + { +- xendevicemodel_set_irq_level(xen_dmod, xen_domid, irq, level); ++ if (xendevicemodel_set_irq_level(xen_dmod, xen_domid, irq, level)) { ++ error_report("xendevicemodel_set_irq_level failed"); ++ } + } + + static void xen_create_virtio_mmio_devices(XenArmState *xam) +diff --git a/include/hw/xen/xen_native.h b/include/hw/xen/xen_native.h +index 5d2718261f..6f09c48823 100644 +--- a/include/hw/xen/xen_native.h ++++ b/include/hw/xen/xen_native.h +@@ -523,12 +523,12 @@ static inline int xen_set_ioreq_server_state(domid_t dom, + enable); + } + +-#if CONFIG_XEN_CTRL_INTERFACE_VERSION <= 41500 ++#if CONFIG_XEN_CTRL_INTERFACE_VERSION < 41500 + static inline int xendevicemodel_set_irq_level(xendevicemodel_handle *dmod, + domid_t domid, uint32_t irq, + unsigned int level) + { +- return 0; ++ return -1; + } + #endif + +-- +2.39.2 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0004-xen-when-unplugging-emulated-devices-skip-virtio-dev.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0004-xen-when-unplugging-emulated-devices-skip-virtio-dev.patch new file mode 100644 index 00000000..da2f042b --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0004-xen-when-unplugging-emulated-devices-skip-virtio-dev.patch @@ -0,0 +1,70 @@ +From 02507086b3ad9beb9c669aae54fcb4857cd61ef8 Mon Sep 17 00:00:00 2001 +From: Juergen Gross +Date: Tue, 16 Mar 2021 14:00:33 +0100 +Subject: [PATCH 04/11] xen: when unplugging emulated devices skip virtio + devices + +Virtio devices should never be unplugged at boot time, as they are +similar to pci passthrough devices. + +Signed-off-by: Juergen Gross +Signed-off-by: Vikram Garhwal +--- + docs/system/i386/xen.rst | 3 --- + hw/i386/xen/xen_platform.c | 10 ++++++++-- + 2 files changed, 8 insertions(+), 5 deletions(-) + +diff --git a/docs/system/i386/xen.rst b/docs/system/i386/xen.rst +index f06765e88c..b86d57af6e 100644 +--- a/docs/system/i386/xen.rst ++++ b/docs/system/i386/xen.rst +@@ -52,9 +52,6 @@ It is necessary to use the pc machine type, as the q35 machine uses AHCI instead + of legacy IDE, and AHCI disks are not unplugged through the Xen PV unplug + mechanism. + +-VirtIO devices can also be used; Linux guests may need to be dissuaded from +-umplugging them by adding 'xen_emul_unplug=never' on their command line. +- + Properties + ---------- + +diff --git a/hw/i386/xen/xen_platform.c b/hw/i386/xen/xen_platform.c +index 17457ff3de..0187b73eeb 100644 +--- a/hw/i386/xen/xen_platform.c ++++ b/hw/i386/xen/xen_platform.c +@@ -28,6 +28,7 @@ + #include "hw/ide/pci.h" + #include "hw/pci/pci.h" + #include "migration/vmstate.h" ++#include "hw/virtio/virtio-bus.h" + #include "net/net.h" + #include "trace.h" + #include "sysemu/xen.h" +@@ -129,10 +130,11 @@ static bool pci_device_is_passthrough(PCIDevice *d) + + static void unplug_nic(PCIBus *b, PCIDevice *d, void *o) + { +- /* We have to ignore passthrough devices */ ++ /* We have to ignore passthrough devices and virtio devices. */ + if (pci_get_word(d->config + PCI_CLASS_DEVICE) == + PCI_CLASS_NETWORK_ETHERNET +- && !pci_device_is_passthrough(d)) { ++ && !pci_device_is_passthrough(d) ++ && !qdev_get_child_bus(&d->qdev, TYPE_VIRTIO_BUS)) { + object_unparent(OBJECT(d)); + } + } +@@ -208,6 +210,10 @@ static void unplug_disks(PCIBus *b, PCIDevice *d, void *opaque) + /* We have to ignore passthrough devices */ + if (pci_device_is_passthrough(d)) + return; ++ /* Ignore virtio devices */ ++ if (qdev_get_child_bus(&d->qdev, TYPE_VIRTIO_BUS)) { ++ return; ++ } + + switch (pci_get_word(d->config + PCI_CLASS_DEVICE)) { + case PCI_CLASS_STORAGE_IDE: +-- +2.39.2 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0005-softmmu-physmem-Split-ram_block_add.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0005-softmmu-physmem-Split-ram_block_add.patch new file mode 100644 index 00000000..3c39dd19 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0005-softmmu-physmem-Split-ram_block_add.patch @@ -0,0 +1,117 @@ +From d4774a0e5e1ebed605c5d49e81433fd371d0b680 Mon Sep 17 00:00:00 2001 +From: Vikram Garhwal +Date: Tue, 17 Oct 2023 20:22:26 +0000 +Subject: [PATCH 05/11] softmmu: physmem: Split ram_block_add() + +Extract ram block list update to a new function ram_block_add_list(). This is +done to support grant mappings which adds a memory region for granted memory and +updates the ram_block list. + +Signed-off-by: Juergen Gross +Signed-off-by: Vikram Garhwal +Reviewed-by: Stefano Stabellini +--- + include/exec/ram_addr.h | 1 + + softmmu/physmem.c | 62 ++++++++++++++++++++++++++--------------- + 2 files changed, 40 insertions(+), 23 deletions(-) + +diff --git a/include/exec/ram_addr.h b/include/exec/ram_addr.h +index 9f2e3893f5..76fa360463 100644 +--- a/include/exec/ram_addr.h ++++ b/include/exec/ram_addr.h +@@ -139,6 +139,7 @@ void qemu_ram_free(RAMBlock *block); + int qemu_ram_resize(RAMBlock *block, ram_addr_t newsize, Error **errp); + + void qemu_ram_msync(RAMBlock *block, ram_addr_t start, ram_addr_t length); ++void ram_block_add_list(RAMBlock *new_block); + + /* Clear whole block of mem */ + static inline void qemu_ram_block_writeback(RAMBlock *block) +diff --git a/softmmu/physmem.c b/softmmu/physmem.c +index 3df73542e1..f73629733e 100644 +--- a/softmmu/physmem.c ++++ b/softmmu/physmem.c +@@ -1786,12 +1786,47 @@ static void dirty_memory_extend(ram_addr_t old_ram_size, + } + } + ++static void ram_block_add_list_locked(RAMBlock *new_block) ++ { ++ RAMBlock *block; ++ RAMBlock *last_block = NULL; ++ ++ /* ++ * Keep the list sorted from biggest to smallest block. Unlike QTAILQ, ++ * QLIST (which has an RCU-friendly variant) does not have insertion at ++ * tail, so save the last element in last_block. ++ */ ++ RAMBLOCK_FOREACH(block) { ++ last_block = block; ++ if (block->max_length < new_block->max_length) { ++ break; ++ } ++ } ++ if (block) { ++ QLIST_INSERT_BEFORE_RCU(block, new_block, next); ++ } else if (last_block) { ++ QLIST_INSERT_AFTER_RCU(last_block, new_block, next); ++ } else { /* list is empty */ ++ QLIST_INSERT_HEAD_RCU(&ram_list.blocks, new_block, next); ++ } ++ ram_list.mru_block = NULL; ++ ++ /* Write list before version */ ++ smp_wmb(); ++ ram_list.version++; ++} ++ ++void ram_block_add_list(RAMBlock *new_block) ++{ ++ qemu_mutex_lock_ramlist(); ++ ram_block_add_list_locked(new_block); ++ qemu_mutex_unlock_ramlist(); ++} ++ + static void ram_block_add(RAMBlock *new_block, Error **errp) + { + const bool noreserve = qemu_ram_is_noreserve(new_block); + const bool shared = qemu_ram_is_shared(new_block); +- RAMBlock *block; +- RAMBlock *last_block = NULL; + ram_addr_t old_ram_size, new_ram_size; + Error *err = NULL; + +@@ -1829,28 +1864,9 @@ static void ram_block_add(RAMBlock *new_block, Error **errp) + if (new_ram_size > old_ram_size) { + dirty_memory_extend(old_ram_size, new_ram_size); + } +- /* Keep the list sorted from biggest to smallest block. Unlike QTAILQ, +- * QLIST (which has an RCU-friendly variant) does not have insertion at +- * tail, so save the last element in last_block. +- */ +- RAMBLOCK_FOREACH(block) { +- last_block = block; +- if (block->max_length < new_block->max_length) { +- break; +- } +- } +- if (block) { +- QLIST_INSERT_BEFORE_RCU(block, new_block, next); +- } else if (last_block) { +- QLIST_INSERT_AFTER_RCU(last_block, new_block, next); +- } else { /* list is empty */ +- QLIST_INSERT_HEAD_RCU(&ram_list.blocks, new_block, next); +- } +- ram_list.mru_block = NULL; ++ ++ ram_block_add_list_locked(new_block); + +- /* Write list before version */ +- smp_wmb(); +- ram_list.version++; + qemu_mutex_unlock_ramlist(); + + cpu_physical_memory_set_dirty_range(new_block->offset, +-- +2.39.2 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0006-xen-add-pseudo-RAM-region-for-grant-mappings.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0006-xen-add-pseudo-RAM-region-for-grant-mappings.patch new file mode 100644 index 00000000..a43748fe --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0006-xen-add-pseudo-RAM-region-for-grant-mappings.patch @@ -0,0 +1,153 @@ +From 637d10471fef76a7ab0e8f5631ea3c85ff5ce9db Mon Sep 17 00:00:00 2001 +From: Juergen Gross +Date: Thu, 20 May 2021 11:19:58 +0200 +Subject: [PATCH 06/11] xen: add pseudo RAM region for grant mappings + +Add a memory region which can be used to automatically map granted +memory. It is starting at 0x8000000000000000ULL in order to be able to +distinguish it from normal RAM. + +For this reason the xen.ram memory region is expanded, which has no +further impact as it is used just as a container of the real RAM +regions and now the grant region. + +Signed-off-by: Juergen Gross +Signed-off-by: Vikram Garhwal +Reviewed-by: Stefano Stabellini +--- + hw/i386/xen/xen-hvm.c | 3 +++ + hw/xen/xen-hvm-common.c | 4 ++-- + hw/xen/xen-mapcache.c | 27 +++++++++++++++++++++++++++ + include/hw/xen/xen-hvm-common.h | 2 ++ + include/hw/xen/xen_pvdev.h | 3 +++ + include/sysemu/xen-mapcache.h | 3 +++ + 6 files changed, 40 insertions(+), 2 deletions(-) + +diff --git a/hw/i386/xen/xen-hvm.c b/hw/i386/xen/xen-hvm.c +index f42621e674..67a55558a6 100644 +--- a/hw/i386/xen/xen-hvm.c ++++ b/hw/i386/xen/xen-hvm.c +@@ -172,6 +172,9 @@ static void xen_ram_init(PCMachineState *pcms, + x86ms->above_4g_mem_size); + memory_region_add_subregion(sysmem, 0x100000000ULL, &ram_hi); + } ++ ++ /* Add grant mappings as a pseudo RAM region. */ ++ ram_grants = *xen_init_grant_ram(); + } + + static XenPhysmap *get_physmapping(hwaddr start_addr, ram_addr_t size) +diff --git a/hw/xen/xen-hvm-common.c b/hw/xen/xen-hvm-common.c +index 565dc39c8f..b7255977a5 100644 +--- a/hw/xen/xen-hvm-common.c ++++ b/hw/xen/xen-hvm-common.c +@@ -9,7 +9,7 @@ + #include "hw/boards.h" + #include "hw/xen/arch_hvm.h" + +-MemoryRegion ram_memory; ++MemoryRegion ram_memory, ram_grants; + + void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr, + Error **errp) +@@ -26,7 +26,7 @@ void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size, MemoryRegion *mr, + return; + } + +- if (mr == &ram_memory) { ++ if (mr == &ram_memory || mr == &ram_grants) { + return; + } + +diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c +index f7d974677d..8115c44c00 100644 +--- a/hw/xen/xen-mapcache.c ++++ b/hw/xen/xen-mapcache.c +@@ -14,7 +14,9 @@ + + #include + ++#include "hw/xen/xen-hvm-common.h" + #include "hw/xen/xen_native.h" ++#include "hw/xen/xen_pvdev.h" + #include "qemu/bitmap.h" + + #include "sysemu/runstate.h" +@@ -597,3 +599,28 @@ uint8_t *xen_replace_cache_entry(hwaddr old_phys_addr, + mapcache_unlock(); + return p; + } ++ ++MemoryRegion *xen_init_grant_ram(void) ++{ ++ RAMBlock *block; ++ ++ memory_region_init(&ram_grants, NULL, "xen.grants", ++ XEN_MAX_VIRTIO_GRANTS * XC_PAGE_SIZE); ++ block = g_malloc0(sizeof(*block)); ++ block->mr = &ram_grants; ++ block->used_length = XEN_MAX_VIRTIO_GRANTS * XC_PAGE_SIZE; ++ block->max_length = XEN_MAX_VIRTIO_GRANTS * XC_PAGE_SIZE; ++ block->fd = -1; ++ block->page_size = XC_PAGE_SIZE; ++ block->host = (void *)XEN_GRANT_ADDR_OFF; ++ block->offset = XEN_GRANT_ADDR_OFF; ++ block->flags = RAM_PREALLOC; ++ ram_grants.ram_block = block; ++ ram_grants.ram = true; ++ ram_grants.terminates = true; ++ ram_block_add_list(block); ++ memory_region_add_subregion(get_system_memory(), XEN_GRANT_ADDR_OFF, ++ &ram_grants); ++ ++ return &ram_grants; ++} +diff --git a/include/hw/xen/xen-hvm-common.h b/include/hw/xen/xen-hvm-common.h +index 4e9904f1a6..0d300ba898 100644 +--- a/include/hw/xen/xen-hvm-common.h ++++ b/include/hw/xen/xen-hvm-common.h +@@ -17,6 +17,8 @@ + #include + + extern MemoryRegion ram_memory; ++ ++extern MemoryRegion ram_grants; + extern MemoryListener xen_io_listener; + extern DeviceListener xen_device_listener; + +diff --git a/include/hw/xen/xen_pvdev.h b/include/hw/xen/xen_pvdev.h +index ddad4b9f36..0f1b5edfa9 100644 +--- a/include/hw/xen/xen_pvdev.h ++++ b/include/hw/xen/xen_pvdev.h +@@ -80,4 +80,7 @@ int xen_pv_send_notify(struct XenLegacyDevice *xendev); + void xen_pv_printf(struct XenLegacyDevice *xendev, int msg_level, + const char *fmt, ...) G_GNUC_PRINTF(3, 4); + ++#define XEN_GRANT_ADDR_OFF 0x8000000000000000ULL ++#define XEN_MAX_VIRTIO_GRANTS 65536 ++ + #endif /* QEMU_HW_XEN_PVDEV_H */ +diff --git a/include/sysemu/xen-mapcache.h b/include/sysemu/xen-mapcache.h +index c8e7c2f6cf..f4bedb1c11 100644 +--- a/include/sysemu/xen-mapcache.h ++++ b/include/sysemu/xen-mapcache.h +@@ -10,6 +10,7 @@ + #define XEN_MAPCACHE_H + + #include "exec/cpu-common.h" ++#include "exec/ram_addr.h" + + typedef hwaddr (*phys_offset_to_gaddr_t)(hwaddr phys_offset, + ram_addr_t size); +@@ -25,6 +26,8 @@ void xen_invalidate_map_cache(void); + uint8_t *xen_replace_cache_entry(hwaddr old_phys_addr, + hwaddr new_phys_addr, + hwaddr size); ++MemoryRegion *xen_init_grant_ram(void); ++ + #else + + static inline void xen_map_cache_init(phys_offset_to_gaddr_t f, +-- +2.39.2 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0007-softmmu-let-qemu_map_ram_ptr-use-qemu_ram_ptr_length.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0007-softmmu-let-qemu_map_ram_ptr-use-qemu_ram_ptr_length.patch new file mode 100644 index 00000000..ee400e2c --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0007-softmmu-let-qemu_map_ram_ptr-use-qemu_ram_ptr_length.patch @@ -0,0 +1,117 @@ +From 82139e7e4bdcf5ca51b2ac90c63e4af699e3eb6f Mon Sep 17 00:00:00 2001 +From: Juergen Gross +Date: Thu, 20 May 2021 11:54:48 +0200 +Subject: [PATCH 07/11] softmmu: let qemu_map_ram_ptr() use + qemu_ram_ptr_length() + +qemu_map_ram_ptr() and qemu_ram_ptr_length() share quite some code, so +modify qemu_ram_ptr_length() a little bit and use it for +qemu_map_ram_ptr(), too. + +Signed-off-by: Juergen Gross +Signed-off-by: Vikram Garhwal +Reviewed-by: Stefano Stabellini +--- + softmmu/physmem.c | 58 +++++++++++++++++++---------------------------- + 1 file changed, 23 insertions(+), 35 deletions(-) + +diff --git a/softmmu/physmem.c b/softmmu/physmem.c +index f73629733e..a934e44fe7 100644 +--- a/softmmu/physmem.c ++++ b/softmmu/physmem.c +@@ -2123,38 +2123,8 @@ void qemu_ram_remap(ram_addr_t addr, ram_addr_t length) + } + #endif /* !_WIN32 */ + +-/* Return a host pointer to ram allocated with qemu_ram_alloc. +- * This should not be used for general purpose DMA. Use address_space_map +- * or address_space_rw instead. For local memory (e.g. video ram) that the +- * device owns, use memory_region_get_ram_ptr. +- * +- * Called within RCU critical section. +- */ +-void *qemu_map_ram_ptr(RAMBlock *ram_block, ram_addr_t addr) +-{ +- RAMBlock *block = ram_block; +- +- if (block == NULL) { +- block = qemu_get_ram_block(addr); +- addr -= block->offset; +- } +- +- if (xen_enabled() && block->host == NULL) { +- /* We need to check if the requested address is in the RAM +- * because we don't want to map the entire memory in QEMU. +- * In that case just map until the end of the page. +- */ +- if (block->offset == 0) { +- return xen_map_cache(addr, 0, 0, false); +- } +- +- block->host = xen_map_cache(block->offset, block->max_length, 1, false); +- } +- return ramblock_ptr(block, addr); +-} +- +-/* Return a host pointer to guest's ram. Similar to qemu_map_ram_ptr +- * but takes a size argument. ++/* ++ * Return a host pointer to guest's ram. + * + * Called within RCU critical section. + */ +@@ -2162,7 +2132,9 @@ static void *qemu_ram_ptr_length(RAMBlock *ram_block, ram_addr_t addr, + hwaddr *size, bool lock) + { + RAMBlock *block = ram_block; +- if (*size == 0) { ++ hwaddr len = 0; ++ ++ if (size && *size == 0) { + return NULL; + } + +@@ -2170,7 +2142,10 @@ static void *qemu_ram_ptr_length(RAMBlock *ram_block, ram_addr_t addr, + block = qemu_get_ram_block(addr); + addr -= block->offset; + } +- *size = MIN(*size, block->max_length - addr); ++ if (size) { ++ *size = MIN(*size, block->max_length - addr); ++ len = *size; ++ } + + if (xen_enabled() && block->host == NULL) { + /* We need to check if the requested address is in the RAM +@@ -2178,7 +2153,7 @@ static void *qemu_ram_ptr_length(RAMBlock *ram_block, ram_addr_t addr, + * In that case just map the requested area. + */ + if (block->offset == 0) { +- return xen_map_cache(addr, *size, lock, lock); ++ return xen_map_cache(addr, len, lock, lock); + } + + block->host = xen_map_cache(block->offset, block->max_length, 1, lock); +@@ -2187,6 +2162,19 @@ static void *qemu_ram_ptr_length(RAMBlock *ram_block, ram_addr_t addr, + return ramblock_ptr(block, addr); + } + ++/* ++ * Return a host pointer to ram allocated with qemu_ram_alloc. ++ * This should not be used for general purpose DMA. Use address_space_map ++ * or address_space_rw instead. For local memory (e.g. video ram) that the ++ * device owns, use memory_region_get_ram_ptr. ++ * ++ * Called within RCU critical section. ++ */ ++void *qemu_map_ram_ptr(RAMBlock *ram_block, ram_addr_t addr) ++{ ++ return qemu_ram_ptr_length(ram_block, addr, NULL, false); ++} ++ + /* Return the offset of a hostpointer within a ramblock */ + ram_addr_t qemu_ram_block_host_offset(RAMBlock *rb, void *host) + { +-- +2.39.2 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0008-xen-let-xen_ram_addr_from_mapcache-return-1-in-case-.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0008-xen-let-xen_ram_addr_from_mapcache-return-1-in-case-.patch new file mode 100644 index 00000000..c1e9abd9 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0008-xen-let-xen_ram_addr_from_mapcache-return-1-in-case-.patch @@ -0,0 +1,49 @@ +From 857bcafe8beb5a0cd78c070f432108049661a56d Mon Sep 17 00:00:00 2001 +From: Juergen Gross +Date: Thu, 20 May 2021 13:31:32 +0200 +Subject: [PATCH 08/11] xen: let xen_ram_addr_from_mapcache() return -1 in case + of not found entry + +Today xen_ram_addr_from_mapcache() will either abort() or return 0 in +case it can't find a matching entry for a pointer value. Both cases +are bad, so change that to return an invalid address instead. + +Signed-off-by: Juergen Gross +Reviewed-by: Stefano Stabellini +--- + hw/xen/xen-mapcache.c | 12 +++--------- + 1 file changed, 3 insertions(+), 9 deletions(-) + +diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c +index 8115c44c00..8a61c7dde6 100644 +--- a/hw/xen/xen-mapcache.c ++++ b/hw/xen/xen-mapcache.c +@@ -404,13 +404,8 @@ ram_addr_t xen_ram_addr_from_mapcache(void *ptr) + } + } + if (!found) { +- fprintf(stderr, "%s, could not find %p\n", __func__, ptr); +- QTAILQ_FOREACH(reventry, &mapcache->locked_entries, next) { +- DPRINTF(" "HWADDR_FMT_plx" -> %p is present\n", reventry->paddr_index, +- reventry->vaddr_req); +- } +- abort(); +- return 0; ++ mapcache_unlock(); ++ return RAM_ADDR_INVALID; + } + + entry = &mapcache->entry[paddr_index % mapcache->nr_buckets]; +@@ -418,8 +413,7 @@ ram_addr_t xen_ram_addr_from_mapcache(void *ptr) + entry = entry->next; + } + if (!entry) { +- DPRINTF("Trying to find address %p that is not in the mapcache!\n", ptr); +- raddr = 0; ++ raddr = RAM_ADDR_INVALID; + } else { + raddr = (reventry->paddr_index << MCACHE_BUCKET_SHIFT) + + ((unsigned long) ptr - (unsigned long) entry->vaddr_base); +-- +2.39.2 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0009-memory-add-MemoryRegion-map-and-unmap-callbacks.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0009-memory-add-MemoryRegion-map-and-unmap-callbacks.patch new file mode 100644 index 00000000..fa18ef16 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0009-memory-add-MemoryRegion-map-and-unmap-callbacks.patch @@ -0,0 +1,155 @@ +From 364a11be6274336ec9b0f06f3272f964d27c9349 Mon Sep 17 00:00:00 2001 +From: Juergen Gross +Date: Thu, 27 May 2021 15:27:55 +0200 +Subject: [PATCH 09/11] memory: add MemoryRegion map and unmap callbacks + +In order to support mapping and unmapping guest memory dynamically to +and from qemu during address_space_[un]map() operations add the map() +and unmap() callbacks to MemoryRegionOps. + +Those will be used e.g. for Xen grant mappings when performing guest +I/Os. + +Signed-off-by: Juergen Gross +Signed-off-by: Vikram Garhwal +--- + include/exec/memory.h | 21 ++++++++++++++++++ + softmmu/physmem.c | 50 +++++++++++++++++++++++++++++++++---------- + 2 files changed, 60 insertions(+), 11 deletions(-) + +diff --git a/include/exec/memory.h b/include/exec/memory.h +index 68284428f8..55414417ab 100644 +--- a/include/exec/memory.h ++++ b/include/exec/memory.h +@@ -274,6 +274,27 @@ struct MemoryRegionOps { + unsigned size, + MemTxAttrs attrs); + ++ /* ++ * Dynamically create mapping. @addr is the guest address to map; @plen ++ * is the pointer to the usable length of the buffer. ++ * @mr contents can be changed in case a new memory region is created for ++ * the mapping. ++ * Returns the buffer address for accessing the data. ++ */ ++ void *(*map)(MemoryRegion **mr, ++ hwaddr addr, ++ hwaddr *plen, ++ bool is_write, ++ MemTxAttrs attrs); ++ ++ /* Unmap an area obtained via map() before. */ ++ void (*unmap)(MemoryRegion *mr, ++ void *buffer, ++ ram_addr_t addr, ++ hwaddr len, ++ bool is_write, ++ hwaddr access_len); ++ + enum device_endian endianness; + /* Guest-visible constraints: */ + struct { +diff --git a/softmmu/physmem.c b/softmmu/physmem.c +index a934e44fe7..a1e2030424 100644 +--- a/softmmu/physmem.c ++++ b/softmmu/physmem.c +@@ -3070,6 +3070,7 @@ void *address_space_map(AddressSpace *as, + hwaddr len = *plen; + hwaddr l, xlat; + MemoryRegion *mr; ++ void *ptr = NULL; + FlatView *fv; + + if (len == 0) { +@@ -3103,12 +3104,20 @@ void *address_space_map(AddressSpace *as, + return bounce.buffer; + } + +- + memory_region_ref(mr); ++ ++ if (mr->ops && mr->ops->map) { ++ ptr = mr->ops->map(&mr, addr, plen, is_write, attrs); ++ } ++ + *plen = flatview_extend_translation(fv, addr, len, mr, xlat, + l, is_write, attrs); + fuzz_dma_read_cb(addr, *plen, mr); +- return qemu_ram_ptr_length(mr->ram_block, xlat, plen, true); ++ if (ptr == NULL) { ++ ptr = qemu_ram_ptr_length(mr->ram_block, xlat, plen, true); ++ } ++ ++ return ptr; + } + + /* Unmaps a memory region previously mapped by address_space_map(). +@@ -3124,11 +3133,16 @@ void address_space_unmap(AddressSpace *as, void *buffer, hwaddr len, + + mr = memory_region_from_host(buffer, &addr1); + assert(mr != NULL); +- if (is_write) { +- invalidate_and_set_dirty(mr, addr1, access_len); +- } +- if (xen_enabled()) { +- xen_invalidate_map_cache_entry(buffer); ++ ++ if (mr->ops && mr->ops->unmap) { ++ mr->ops->unmap(mr, buffer, addr1, len, is_write, access_len); ++ } else { ++ if (is_write) { ++ invalidate_and_set_dirty(mr, addr1, access_len); ++ } ++ if (xen_enabled()) { ++ xen_invalidate_map_cache_entry(buffer); ++ } + } + memory_region_unref(mr); + return; +@@ -3201,10 +3215,18 @@ int64_t address_space_cache_init(MemoryRegionCache *cache, + * doing this if we found actual RAM, which behaves the same + * regardless of attributes; so UNSPECIFIED is fine. + */ ++ if (mr->ops && mr->ops->map) { ++ cache->ptr = mr->ops->map(&mr, addr, &l, is_write, ++ MEMTXATTRS_UNSPECIFIED); ++ } ++ + l = flatview_extend_translation(cache->fv, addr, len, mr, + cache->xlat, l, is_write, + MEMTXATTRS_UNSPECIFIED); +- cache->ptr = qemu_ram_ptr_length(mr->ram_block, cache->xlat, &l, true); ++ if (!cache->ptr) { ++ cache->ptr = qemu_ram_ptr_length(mr->ram_block, cache->xlat, &l, ++ true); ++ } + } else { + cache->ptr = NULL; + } +@@ -3226,14 +3248,20 @@ void address_space_cache_invalidate(MemoryRegionCache *cache, + + void address_space_cache_destroy(MemoryRegionCache *cache) + { +- if (!cache->mrs.mr) { ++ MemoryRegion *mr = cache->mrs.mr; ++ ++ if (!mr) { + return; + } + +- if (xen_enabled()) { ++ if (mr->ops && mr->ops->unmap) { ++ mr->ops->unmap(mr, cache->ptr, cache->xlat, cache->len, ++ cache->is_write, cache->len); ++ } else if (xen_enabled()) { + xen_invalidate_map_cache_entry(cache->ptr); + } +- memory_region_unref(cache->mrs.mr); ++ ++ memory_region_unref(mr); + flatview_unref(cache->fv); + cache->mrs.mr = NULL; + cache->fv = NULL; +-- +2.39.2 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0010-xen-add-map-and-unmap-callbacks-for-grant-region.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0010-xen-add-map-and-unmap-callbacks-for-grant-region.patch new file mode 100644 index 00000000..48dcf7d7 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0010-xen-add-map-and-unmap-callbacks-for-grant-region.patch @@ -0,0 +1,262 @@ +From 90496d4c71e3b9334aebca118661bf72631ed0f0 Mon Sep 17 00:00:00 2001 +From: Juergen Gross +Date: Fri, 26 Aug 2022 13:57:06 +0200 +Subject: [PATCH 10/11] xen: add map and unmap callbacks for grant region + +Add the callbacks for mapping/unmapping guest memory via grants to the +special grant memory region. + +Signed-off-by: Juergen Gross +Signed-off-by: Vikram Garhwal +--- + hw/xen/xen-mapcache.c | 176 +++++++++++++++++++++++++++++++++++++++++- + softmmu/physmem.c | 11 ++- + 2 files changed, 182 insertions(+), 5 deletions(-) + +diff --git a/hw/xen/xen-mapcache.c b/hw/xen/xen-mapcache.c +index 8a61c7dde6..e071328fc5 100644 +--- a/hw/xen/xen-mapcache.c ++++ b/hw/xen/xen-mapcache.c +@@ -9,6 +9,8 @@ + */ + + #include "qemu/osdep.h" ++#include "qemu/queue.h" ++#include "qemu/thread.h" + #include "qemu/units.h" + #include "qemu/error-report.h" + +@@ -23,6 +25,8 @@ + #include "sysemu/xen-mapcache.h" + #include "trace.h" + ++#include ++#include + + //#define MAPCACHE_DEBUG + +@@ -385,7 +389,7 @@ uint8_t *xen_map_cache(hwaddr phys_addr, hwaddr size, + return p; + } + +-ram_addr_t xen_ram_addr_from_mapcache(void *ptr) ++static ram_addr_t xen_ram_addr_from_mapcache_try(void *ptr) + { + MapCacheEntry *entry = NULL; + MapCacheRev *reventry; +@@ -594,10 +598,179 @@ uint8_t *xen_replace_cache_entry(hwaddr old_phys_addr, + return p; + } + ++struct XENMappedGrantRegion { ++ void *addr; ++ unsigned int pages; ++ unsigned int refs; ++ unsigned int prot; ++ uint32_t idx; ++ QLIST_ENTRY(XENMappedGrantRegion) list; ++}; ++ ++static xengnttab_handle *xen_region_gnttabdev; ++static QLIST_HEAD(GrantRegionList, XENMappedGrantRegion) xen_grant_mappings = ++ QLIST_HEAD_INITIALIZER(xen_grant_mappings); ++static QemuMutex xen_map_mutex; ++ ++static void *xen_map_grant_dyn(MemoryRegion **mr, hwaddr addr, hwaddr *plen, ++ bool is_write, MemTxAttrs attrs) ++{ ++ unsigned int page_off = addr & (XC_PAGE_SIZE - 1); ++ unsigned int i; ++ unsigned int total_grants = 0; ++ unsigned int nrefs = (page_off + *plen + XC_PAGE_SIZE - 1) >> XC_PAGE_SHIFT; ++ uint32_t ref = (addr - XEN_GRANT_ADDR_OFF) >> XC_PAGE_SHIFT; ++ uint32_t *refs = NULL; ++ unsigned int prot = PROT_READ; ++ struct XENMappedGrantRegion *mgr = NULL; ++ ++ if (is_write) { ++ prot |= PROT_WRITE; ++ } ++ ++ qemu_mutex_lock(&xen_map_mutex); ++ ++ QLIST_FOREACH(mgr, &xen_grant_mappings, list) { ++ if (mgr->idx == ref && ++ mgr->pages == nrefs && ++ (mgr->prot & prot) == prot) { ++ break; ++ } ++ ++ total_grants += mgr->pages; ++ } ++ ++ if (!mgr) { ++ if (nrefs + total_grants >= XEN_MAX_VIRTIO_GRANTS) { ++ qemu_mutex_unlock(&xen_map_mutex); ++ return NULL; ++ } ++ ++ mgr = g_new(struct XENMappedGrantRegion, 1); ++ ++ if (nrefs == 1) { ++ refs = &ref; ++ } else { ++ refs = g_new(uint32_t, nrefs); ++ for (i = 0; i < nrefs; i++) { ++ refs[i] = ref + i; ++ } ++ } ++ mgr->addr = xengnttab_map_domain_grant_refs(xen_region_gnttabdev, nrefs, ++ xen_domid, refs, prot); ++ if (mgr->addr) { ++ mgr->pages = nrefs; ++ mgr->refs = 1; ++ mgr->prot = prot; ++ mgr->idx = ref; ++ ++ QLIST_INSERT_HEAD(&xen_grant_mappings, mgr, list); ++ } else { ++ g_free(mgr); ++ mgr = NULL; ++ } ++ } else { ++ mgr->refs++; ++ } ++ ++ qemu_mutex_unlock(&xen_map_mutex); ++ ++ if (nrefs > 1) { ++ g_free(refs); ++ } ++ ++ return mgr ? mgr->addr + page_off : NULL; ++} ++ ++static void xen_unmap_grant_dyn(MemoryRegion *mr, void *buffer, ram_addr_t addr, ++ hwaddr len, bool is_write, hwaddr access_len) ++{ ++ unsigned int page_off = (unsigned long)buffer & (XC_PAGE_SIZE - 1); ++ unsigned int nrefs = (page_off + len + XC_PAGE_SIZE - 1) >> XC_PAGE_SHIFT; ++ unsigned int prot = PROT_READ; ++ struct XENMappedGrantRegion *mgr = NULL; ++ ++ if (is_write) { ++ prot |= PROT_WRITE; ++ } ++ ++ qemu_mutex_lock(&xen_map_mutex); ++ ++ QLIST_FOREACH(mgr, &xen_grant_mappings, list) { ++ if (mgr->addr == buffer - page_off && ++ mgr->pages == nrefs && ++ (mgr->prot & prot) == prot) { ++ break; ++ } ++ } ++ if (mgr) { ++ mgr->refs--; ++ if (!mgr->refs) { ++ xengnttab_unmap(xen_region_gnttabdev, mgr->addr, nrefs); ++ ++ QLIST_REMOVE(mgr, list); ++ g_free(mgr); ++ } ++ } else { ++ error_report("xen_unmap_grant_dyn() trying to unmap unknown buffer"); ++ } ++ ++ qemu_mutex_unlock(&xen_map_mutex); ++} ++ ++static ram_addr_t xen_ram_addr_from_grant_cache(void *ptr) ++{ ++ unsigned int page_off = (unsigned long)ptr & (XC_PAGE_SIZE - 1); ++ struct XENMappedGrantRegion *mgr = NULL; ++ ram_addr_t raddr = RAM_ADDR_INVALID; ++ ++ qemu_mutex_lock(&xen_map_mutex); ++ ++ QLIST_FOREACH(mgr, &xen_grant_mappings, list) { ++ if (mgr->addr == ptr - page_off) { ++ break; ++ } ++ } ++ ++ if (mgr) { ++ raddr = (mgr->idx << XC_PAGE_SHIFT) + page_off + XEN_GRANT_ADDR_OFF; ++ } ++ ++ qemu_mutex_unlock(&xen_map_mutex); ++ ++ return raddr; ++} ++ ++ram_addr_t xen_ram_addr_from_mapcache(void *ptr) ++{ ++ ram_addr_t raddr; ++ ++ raddr = xen_ram_addr_from_mapcache_try(ptr); ++ if (raddr == RAM_ADDR_INVALID) { ++ raddr = xen_ram_addr_from_grant_cache(ptr); ++ } ++ ++ return raddr; ++} ++ ++static const struct MemoryRegionOps xen_grant_mr_ops = { ++ .map = xen_map_grant_dyn, ++ .unmap = xen_unmap_grant_dyn, ++ .endianness = DEVICE_LITTLE_ENDIAN, ++}; ++ + MemoryRegion *xen_init_grant_ram(void) + { + RAMBlock *block; + ++ qemu_mutex_init(&xen_map_mutex); ++ ++ xen_region_gnttabdev = xengnttab_open(NULL, 0); ++ if (xen_region_gnttabdev == NULL) { ++ fprintf(stderr, "can't open gnttab device\n"); ++ return NULL; ++ } ++ + memory_region_init(&ram_grants, NULL, "xen.grants", + XEN_MAX_VIRTIO_GRANTS * XC_PAGE_SIZE); + block = g_malloc0(sizeof(*block)); +@@ -612,6 +785,7 @@ MemoryRegion *xen_init_grant_ram(void) + ram_grants.ram_block = block; + ram_grants.ram = true; + ram_grants.terminates = true; ++ ram_grants.ops = &xen_grant_mr_ops; + ram_block_add_list(block); + memory_region_add_subregion(get_system_memory(), XEN_GRANT_ADDR_OFF, + &ram_grants); +diff --git a/softmmu/physmem.c b/softmmu/physmem.c +index a1e2030424..e1057304f1 100644 +--- a/softmmu/physmem.c ++++ b/softmmu/physmem.c +@@ -2210,13 +2210,16 @@ RAMBlock *qemu_ram_block_from_host(void *ptr, bool round_offset, + + if (xen_enabled()) { + ram_addr_t ram_addr; ++ + RCU_READ_LOCK_GUARD(); + ram_addr = xen_ram_addr_from_mapcache(ptr); +- block = qemu_get_ram_block(ram_addr); +- if (block) { +- *offset = ram_addr - block->offset; ++ if (ram_addr != RAM_ADDR_INVALID) { ++ block = qemu_get_ram_block(ram_addr); ++ if (block) { ++ *offset = ram_addr - block->offset; ++ } ++ return block; + } +- return block; + } + + RCU_READ_LOCK_GUARD(); +-- +2.39.2 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0011-hw-arm-Add-grant-mapping.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0011-hw-arm-Add-grant-mapping.patch new file mode 100644 index 00000000..fb5450e6 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0011-hw-arm-Add-grant-mapping.patch @@ -0,0 +1,30 @@ +From b1eaba758a9000061fc53a934c348d6ef8dcdf64 Mon Sep 17 00:00:00 2001 +From: Vikram Garhwal +Date: Tue, 31 Jan 2023 21:46:43 +0000 +Subject: [PATCH 11/11] hw: arm: Add grant mapping. + +Enable grant ram mapping support for Xenpvh machine on ARM. + +Signed-off-by: Vikram Garhwal +Reviewed-by: Stefano Stabellini +--- + hw/arm/xen_arm.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c +index a5631529d0..1587e2a43b 100644 +--- a/hw/arm/xen_arm.c ++++ b/hw/arm/xen_arm.c +@@ -127,6 +127,9 @@ static void xen_init_ram(MachineState *machine) + DPRINTF("Initialized region xen.ram.hi: base 0x%llx size 0x%lx\n", + GUEST_RAM1_BASE, ram_size[1]); + } ++ ++ DPRINTF("init grant ram mapping for XEN\n"); ++ ram_grants = *xen_init_grant_ram(); + } + + void arch_handle_ioreq(XenIOState *state, ioreq_t *req) +-- +2.39.2 + diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx_2024%.bbappend b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx_2024%.bbappend index b1e94b5a..2f8e55aa 100644 --- a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx_2024%.bbappend +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx_2024%.bbappend @@ -1,5 +1,5 @@ require qemu-tpm.inc -#require qemu-xen.inc +require qemu-xen_8.1.inc # We do not want QEMU, on the target to be configured with OpenGL PACKAGECONFIG:remove:class-target:petalinux = "virglrenderer epoxy gtk+" diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu_8.1%.bbappend b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu_8.1%.bbappend index b1e94b5a..95b1902b 100644 --- a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu_8.1%.bbappend +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu_8.1%.bbappend @@ -1,5 +1,5 @@ require qemu-tpm.inc -#require qemu-xen.inc +require qemu-xen_8.1.inc # We do not want QEMU, on the target to be configured with OpenGL -PACKAGECONFIG:remove:class-target:petalinux = "virglrenderer epoxy gtk+" +PACKAGECONFIG:remove:class-target = "virglrenderer epoxy gtk+" -- cgit v1.2.3-54-g00ecf From a5da3357071f0ed45810aa8fdc3450bd94b7997d Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Fri, 19 Jan 2024 13:42:00 -0700 Subject: layer.conf: Update xen version to 4.18 Update xen and xen-tools version to 4.18. Signed-off-by: Sandeep Gundlupet Raju Added 4.17 support 2023.x compatibility Signed-off-by: Mark Hatle --- meta-xilinx-virtualization/conf/layer.conf | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-virtualization/conf/layer.conf b/meta-xilinx-virtualization/conf/layer.conf index 5b648025..0a3083df 100644 --- a/meta-xilinx-virtualization/conf/layer.conf +++ b/meta-xilinx-virtualization/conf/layer.conf @@ -18,5 +18,8 @@ LAYERDEPENDS_xilinx-virtualization = "\ LAYERSERIES_COMPAT_xilinx-virtualization = "langdale" -PREFERRED_VERSION_xen = "4.17-xilinx+git%" -PREFERRED_VERSION_xen-tools = "4.17-xilinx+git%" +XILINX_XEN_VERSION[v2023.1] = "4.17-xilinx+git%" +XILINX_XEN_VERSION[v2023.2] = "4.17-xilinx+git%" +XILINX_XEN_VERSION[v2024.1] = "4.18-xilinx+git%" +PREFERRED_VERSION_xen ?= "${@d.getVarFlag('XILINX_XEN_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" +PREFERRED_VERSION_xen-tools ?= "${@d.getVarFlag('XILINX_XEN_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" -- cgit v1.2.3-54-g00ecf From f9e7a36b1a9a5816a7943e95346091f41bf215bd Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 24 Jan 2024 12:55:54 +0530 Subject: aie-rt : Updated SRCREV for 2024.1_5023 driver: src: Mark TilesInUse bitmap in PartitionInit --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index 85f4f5e5..52ccf83e 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "main-aie" -SRCREV ?= "336f76ecc7cf3852bd4c85d80ad1010a3565b3f2" +SRCREV ?= "60f2bb1af927ab64e96d52af92723847cd6d6422" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From 64c4329de9c78853e6aa2213a4709cbd189bc14d Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 24 Jan 2024 12:58:01 +0530 Subject: linux-xlnx : Updated SRCREV for 2024.1_6043 net: macb: Fix missing wakeup attribute on zu+ and versal media: dt-bindings: ov8856: decouple lanes and link frequency from driver dt-bindings: serial: rs485: Add rs485-rts-active-high media: dt-bindings: ti,ds90ub960: Add missing type for "i2c-alias" ASoC: dt-bindings: Simplify port schema dt-bindings: display: panel: one file of all simple LVDS panels with dual ports ASoC: dt-bindings: Simplify referencing dai-params.yaml dt-bindings: Drop kernel copy of common reserved-memory bindings dt-bindings: iio: honeywell,mprls0025pa: drop ref from pressure properties --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index 4363c29f..6f0c3211 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.6.0" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.6;destsuffix=yocto-kmeta" KBRANCH="master" -SRCREV = "6ceb721218b64dd2c6ef478849ec6fb464f608bd" +SRCREV = "4a9aa5b144a6d3d77049d5f3af58fe810a130b96" SRCREV_meta = "5d0809d0d939c7738cb6e5391126c73fd0e4e865" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From 7bec633200c97b61acffb412cfd427241a2ab377 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 24 Jan 2024 12:55:23 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_1203 rfclk: Correct linux gpio ID v_hdmitx1: Declare XV_HdmiTx1_LookupVic function in header file resetps: Add support for compiling examples in Yocto flow bsp: standalone: Fixed source code-format issue bsp: standalone: Fix Doxygen warnings wdttb: Add support for compiling examples in Yocto flow sw_services: xilnvm: Validate the decrypt only puf helper data qspipsu: example: Update examples to set QSPI clock based on baud rate divisor qspipsu: Add support to set QSPI clock based on baud rate divisor VideoHLS Drivers: Import examples option is added to all examples fs-boot.c: fixing compilation issues in sdt flow --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 456be0c6..4cbf586d 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "2a07bc9c764e5aecea4cfb54068f5715176e2dad" +ESW_REV[2024.1] = "3bf967a067ca608fd7cf1093116e5845cf315c63" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 69f863ef70e7878ad74742f77bffb7306540168a Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 25 Jan 2024 12:54:44 +0530 Subject: aie-rt : Updated SRCREV for 2024.1_3903 driver: src: close memtile fd & unmapped memory associated with memtile --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index 52ccf83e..8ce7f6d4 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "main-aie" -SRCREV ?= "60f2bb1af927ab64e96d52af92723847cd6d6422" +SRCREV ?= "13334e098e57edb471951fc0c18ccd2aa64f7278" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From 5c1339a4d38c0336354c2d1e0ac10efb8a8c593c Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 26 Jan 2024 12:53:41 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_9731 lib: sw_apps: Wrap IPI Symbols in #ifndefss xilnvm: Fix doxygen warnings v_hdmitxss1: Add yaml changes to support import examples v_hdmirxss1: Add yaml changes to support import examples v_hdmitxss: Add yaml changes to support import examples v_hdmirxss: Add yaml changes to support import examples v_sditxss: Add support for SDT flow axis_switch: Add support for compiling driver examples in Yocto flow axis_switch:Increment driver version llfifo: Add support for compiling driver examples in Yocto flow llfifo: Increment driver version dfeprach: Correct memset destination address sw_services:xilplmi:Addition in Logstring and begin command logic enhancement emacps: Add support for compiling driver examples in yocto flow emacps: Increment driver version --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 4cbf586d..125fd75d 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "3bf967a067ca608fd7cf1093116e5845cf315c63" +ESW_REV[2024.1] = "4b1aa02bd005edea08ee1dad14c8a3f2f4feb717" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 3057ca2441e36f448c6ef7d4f395e0dc6aeb40c3 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Sat, 27 Jan 2024 12:54:12 +0530 Subject: aie-rt : Updated SRCREV for 2024.1_1543 driver: src: lite: Missing end quotation mark driver/src: Revert removed TilesInUse code in PartitionInit. driver:src:lite: Initialize NumRows to Default Value driver: src: Clock ungate only the requested tiles --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index 8ce7f6d4..c6306d55 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "main-aie" -SRCREV ?= "13334e098e57edb471951fc0c18ccd2aa64f7278" +SRCREV ?= "a2c199110d92aa35ec4de7fe35332ac668bf668e" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From f961f8e9616b00098f0dec76bb2ccfa5226a49f7 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 30 Jan 2024 12:45:43 +0530 Subject: arm-trusted-firmware : Updated SRCREV for 2024.1_9263 fix(xilinx): deprecate SiP service count query feat(versal): extend platform address space sizes fix(xilinx): add console_flush() before shutdown fix(xilinx): fix sending sgi to linux feat(xilinx): add new state to identify cpu power down feat(xilinx): request cpu power down from reset feat(xilinx): power down all cores on receiving cpu pwrdwn req feat(xilinx): add handler for power down req sgi irq feat(xilinx): add wrapper to handle cpu power down req fix(versal-net): use arm common GIC handlers fix(xilinx): rename macros to align with ARM --- .../recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb index 693dca9c..e413f75b 100644 --- a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb +++ b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb @@ -1,5 +1,5 @@ ATF_VERSION = "2.10" -SRCREV = "5a127e5e428ac562d1b6490840fd99109b678f44" +SRCREV = "c90834c912f7a31ce7634adfd22fd70e1bc5e3c5" BRANCH = "xlnx_rebase_v2.10" LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031" -- cgit v1.2.3-54-g00ecf From 64f7e1572f3f0c79007b0d0d4917b243f21bedc9 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 30 Jan 2024 12:46:47 +0530 Subject: dts : Updated SRCREV for 2024.1_5167 versal-vek280: Add es1 board varient versal: Add vmk180 board versal-net: Add REVA version for vn-p-b2197-00-x-prc Update AMD Copyright versal: Add support for xqvp1702 versal-ps-pl-remoteport: Add NPI IRQs versal: Add support for xave1752 versal-xcvp1802: Add CPM5 zynqmp: Add KV260 board dts --- meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb index 2db8c778..328511eb 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb @@ -2,5 +2,5 @@ require qemu-devicetrees.inc BRANCH ?= "master" -SRCREV ?= "41ac2b04e8c52ed3935b0ba2f132ed49cf7c05fe" +SRCREV ?= "a5890bb4c95d903f9023f2a8125630fabb8e7b2c" -- cgit v1.2.3-54-g00ecf From 121edde2e704900a7b4e24b260167614705297aa Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 30 Jan 2024 16:44:27 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_6931 Updated commit ID to latest HEAD --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index ba814bd4..a054e0a8 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2023.01" UBRANCH = "master" -SRCREV = "695bea48fc8367567058782fe3b936d8aa6bebd8" +SRCREV = "570c58f210ed63c4574cd851cd74fd16c7fc4777" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From 6f7a824d505115a01dd49386aa47b079598fc07c Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 31 Jan 2024 12:54:15 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_4487 Updated commit ID to latest HEAD --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index a054e0a8..2c8c4fcd 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2023.01" UBRANCH = "master" -SRCREV = "570c58f210ed63c4574cd851cd74fd16c7fc4777" +SRCREV = "00bd60bf78b370b6b3dfe671bc75c37cbb1de3ef" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From 0507c497d0bfad094456e8d965133ff665090e5f Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Thu, 25 Jan 2024 12:21:15 -0700 Subject: linux-xlnx_2023.2: Update to more recent LTS version Signed-off-by: Mark Hatle (cherry picked from commit 79335c2a8a9a6cfef521a3bddb24865def036050) Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/layer.conf | 2 +- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.2.bb | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-xilinx-core/conf/layer.conf b/meta-xilinx-core/conf/layer.conf index bbad1f76..4c636a25 100644 --- a/meta-xilinx-core/conf/layer.conf +++ b/meta-xilinx-core/conf/layer.conf @@ -71,7 +71,7 @@ PREFERRED_VERSION_u-boot-xlnx ?= "${@d.getVarFlag('XILINX_UBOOT_VERSION', d.getV PREFERRED_VERSION_u-boot-tools-xlnx ?= "${@d.getVarFlag('XILINX_UBOOT_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" XILINX_LINUX_VERSION[v2023.1] = "6.1.5-xilinx-v2023.1%" -XILINX_LINUX_VERSION[v2023.2] = "6.1.30-xilinx-v2023.2%" +XILINX_LINUX_VERSION[v2023.2] = "6.1.60-xilinx-v2023.2%" XILINX_LINUX_VERSION[v2024.1] = "6.6.0-xilinx-v2024.1%" PREFERRED_VERSION_linux-xlnx ?= "${@d.getVarFlag('XILINX_LINUX_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.2.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.2.bb index 8842cb10..ec5827e6 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.2.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2023.2.bb @@ -1,7 +1,7 @@ -LINUX_VERSION = "6.1.30" +LINUX_VERSION = "6.1.60" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.1;destsuffix=yocto-kmeta" KBRANCH="xlnx_rebase_v6.1_LTS" -SRCREV = "a19da02cf5b44420ec6afb1eef348c21d9e8cda2" +SRCREV = "9c55be2d8a90a240912c9b85814ac962c86b382b" SRCREV_meta = "185bcfcbe480c742247d9117011794c69682914f" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From 6ccda0e53d16df3e388f70876e33169a953ea8d3 Mon Sep 17 00:00:00 2001 From: Sharath Kumar Dasari Date: Fri, 26 Jan 2024 23:56:03 +0530 Subject: image-update: semantic version update Last SRCREV update added support for kv260 rev2 which we are now tagging, releasing for canonical, hence incrementing the version to 1.1 Signed-off-by: Sharath Kumar Dasari Signed-off-by: Mark Hatle (cherry picked from commit 57b22cc33a24b32c4f3cef364378c5216d2fda87) Signed-off-by: Mark Hatle --- .../recipes-apps/image-update/image-update_1.0.bb | 29 ---------------------- .../recipes-apps/image-update/image-update_1.1.bb | 29 ++++++++++++++++++++++ 2 files changed, 29 insertions(+), 29 deletions(-) delete mode 100644 meta-xilinx-core/recipes-apps/image-update/image-update_1.0.bb create mode 100644 meta-xilinx-core/recipes-apps/image-update/image-update_1.1.bb diff --git a/meta-xilinx-core/recipes-apps/image-update/image-update_1.0.bb b/meta-xilinx-core/recipes-apps/image-update/image-update_1.0.bb deleted file mode 100644 index db518b2c..00000000 --- a/meta-xilinx-core/recipes-apps/image-update/image-update_1.0.bb +++ /dev/null @@ -1,29 +0,0 @@ -DESCRIPTION = "Image update is used to update alternate images on compatible firmware." -SUMMARY = "Image update is used to update alternate image on compatible firmware. \ - If the current image is ImageA, ImageB will get updated and vice versa. \ - Usage: image_update " - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${WORKDIR}/git/LICENSES/MIT;md5=2ac09a7a37dd6ee0ba23ce497d57d09b" - -BRANCH = "xlnx_rel_v2023.2" -SRC_URI = "git://github.com/Xilinx/linux-image_update.git;branch=${BRANCH};protocol=https" -SRCREV = "4f0b7b1b20933ddc454124fc3472f1b8894ddf08" - -RDEPENDS:${PN} += "freeipmi" - -S = "${WORKDIR}/git" - -COMPATIBLE_MACHINE = "^$" -COMPATIBLE_MACHINE:zynqmp = "zynqmp" -COMPATIBLE_MACHINE:versal = "versal" - -PACKAGE_ARCH:zynqmp = "${SOC_FAMILY_ARCH}" - -# Force the make system to use the flags we want! -EXTRA_OEMAKE = 'CC="${CC} ${TARGET_CFLAGS} ${TARGET_LDFLAGS}" all' - -do_install () { - install -d ${D}${bindir} - install -m 0755 ${S}/image_update ${D}${bindir}/ -} diff --git a/meta-xilinx-core/recipes-apps/image-update/image-update_1.1.bb b/meta-xilinx-core/recipes-apps/image-update/image-update_1.1.bb new file mode 100644 index 00000000..db518b2c --- /dev/null +++ b/meta-xilinx-core/recipes-apps/image-update/image-update_1.1.bb @@ -0,0 +1,29 @@ +DESCRIPTION = "Image update is used to update alternate images on compatible firmware." +SUMMARY = "Image update is used to update alternate image on compatible firmware. \ + If the current image is ImageA, ImageB will get updated and vice versa. \ + Usage: image_update " + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${WORKDIR}/git/LICENSES/MIT;md5=2ac09a7a37dd6ee0ba23ce497d57d09b" + +BRANCH = "xlnx_rel_v2023.2" +SRC_URI = "git://github.com/Xilinx/linux-image_update.git;branch=${BRANCH};protocol=https" +SRCREV = "4f0b7b1b20933ddc454124fc3472f1b8894ddf08" + +RDEPENDS:${PN} += "freeipmi" + +S = "${WORKDIR}/git" + +COMPATIBLE_MACHINE = "^$" +COMPATIBLE_MACHINE:zynqmp = "zynqmp" +COMPATIBLE_MACHINE:versal = "versal" + +PACKAGE_ARCH:zynqmp = "${SOC_FAMILY_ARCH}" + +# Force the make system to use the flags we want! +EXTRA_OEMAKE = 'CC="${CC} ${TARGET_CFLAGS} ${TARGET_LDFLAGS}" all' + +do_install () { + install -d ${D}${bindir} + install -m 0755 ${S}/image_update ${D}${bindir}/ +} -- cgit v1.2.3-54-g00ecf From 404501533f13d16e1885ef151ad3b64f02d72d13 Mon Sep 17 00:00:00 2001 From: John Toomey Date: Mon, 29 Jan 2024 13:41:46 +0000 Subject: bootbin-version-header: Move recipe from meta-kria Signed-off-by: John Toomey Signed-off-by: Mark Hatle (cherry picked from commit fe1fee9a45076aab2e39e38b5705d1ad0aa06de5) Signed-off-by: Mark Hatle --- .../recipes-bsp/bootbin/bootbin-version-header.bb | 54 ++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 meta-xilinx-core/recipes-bsp/bootbin/bootbin-version-header.bb diff --git a/meta-xilinx-core/recipes-bsp/bootbin/bootbin-version-header.bb b/meta-xilinx-core/recipes-bsp/bootbin/bootbin-version-header.bb new file mode 100644 index 00000000..98eebc3e --- /dev/null +++ b/meta-xilinx-core/recipes-bsp/bootbin/bootbin-version-header.bb @@ -0,0 +1,54 @@ +DESCRIPTION = "Bootbin version string file" +SUMMARY = "The BIF file for bootbin requires a version file in a specific format" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +COMPATIBLE_MACHINE = "^$" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +BOOTBIN_VER_MAIN ?= "" + +BOOTBIN_VER_SUFFIX ?= "${@(d.getVar('XILINX_VER_BUILD') or '')[:8] if d.getVar('XILINX_VER_UPDATE') != 'release' and not d.getVar('XILINX_VER_UPDATE').startswith('update') else ''}" +BOOTBIN_VER_FILE = "bootbin-version-header.txt" +BOOTBIN_VER_MAX_LEN = "36" + +BOOTBIN_MANIFEST_FILE ?= "bootbin-version-header.manifest" + +inherit deploy image-artifact-names + +python do_configure() { + if d.getVar("BOOTBIN_VER_SUFFIX"): + version = version + "-" + d.getVar("BOOTBIN_VER_SUFFIX") + + if len(version) > int(d.getVar("BOOTBIN_VER_MAX_LEN")): + bb.error("version string too long") + + with open(d.expand("${B}/${BOOTBIN_VER_FILE}"), "w") as f: + f.write(version.encode("utf-8").hex()) + + with open(d.expand("${B}/${BOOTBIN_MANIFEST_FILE}"), "w") as f: + f.write("* %s\n" % d.getVar('PN')) + f.write("VERSION: %s\n" % version) + f.write("PV: %s\n" % d.getVar('PV')) + f.write("XILINX_VER_MAIN: %s\n" % d.getVar('XILINX_VER_MAIN')) + f.write("XILINX_VER_UPDATE: %s\n" % d.getVar('XILINX_VER_UPDATE')) + f.write("XILINX_VER_BUILD: %s\n\n" % d.getVar('XILINX_VER_BUILD')) +} + +do_install() { + install -d ${D}/boot + install -m 0644 ${B}/${BOOTBIN_VER_FILE} ${D}/boot/ +} + +do_deploy() { + install -m 0644 ${B}/${BOOTBIN_VER_FILE} ${DEPLOYDIR}/${IMAGE_NAME}.txt + ln -s ${IMAGE_NAME}.txt ${DEPLOYDIR}/${IMAGE_LINK_NAME}.txt + install -m 0644 ${B}/${BOOTBIN_MANIFEST_FILE} ${DEPLOYDIR}/${IMAGE_NAME}.manifest + ln -s ${IMAGE_NAME}.manifest ${DEPLOYDIR}/${IMAGE_LINK_NAME}.manifest +} + +addtask deploy after do_compile + +SYSROOT_DIRS += "/boot" +FILES:${PN} += "/boot/${BOOTBIN_VER_FILE}" -- cgit v1.2.3-54-g00ecf From d4e9eb69dd27f829a50abc77f58eb8571615549b Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Tue, 23 Jan 2024 19:18:19 -0700 Subject: lwip_2024.1: Update lwip version to 2.2.0 lwip-echo-server baremetal application fails to build with below errors: ERROR: mc:cortexr5-0-zynqmp-baremetal:lwip-2024.1+gitAUTOINC+2a07bc9c76-r0 do_configure: ExecutionError('/scratch/sandeep/yocto/2024.1/yp-dev/build-sdt/tmp-cortexr5-0-zynqmp-baremetal/work/cortexr5-vfpv3d16-xilinx-eabi/lwip/2024.1+gitAUTOINC+2a07bc9c76-r0/temp/run.do_configure.2679569', 1, None, None) ERROR: Logfile of failure stored in: /scratch/sandeep/yocto/2024.1/yp-dev/build-sdt/tmp-cortexr5-0-zynqmp-baremetal/work/cortexr5-vfpv3d16-xilinx-eabi/lwip/2024.1+gitAUTOINC+2a07bc9c76-r0/temp/log.do_configure.2679569 Log data follows: | DEBUG: Executing python function extend_recipe_sysroot | NOTE: Direct dependencies are ['mc:cortexr5-0-zynqmp-baremetal:/scratch/sandeep/yocto/2024.1/yp-dev/sources/meta-xilinx/meta-xilinx-standalone-experimental/recipes-libraries/libxil_2024.1.bb:do_populate_sysroot', 'mc:cortexr5-0-zynqmp-baremetal:/scratch/sandeep/yocto/2024.1/yp-dev/sources/poky/../meta-xilinx/meta-xilinx-core/recipes-bsp/device-tree/device-tree.bb:do_populate_sysroot', 'mc:cortexr5-0-zynqmp-baremetal:/scratch/sandeep/yocto/2024.1/yp-dev/sources/poky/meta/recipes-core/newlib/libgloss_4.2.0.bb:do_populate_sysroot', 'mc:cortexr5-0-zynqmp-baremetal:/scratch/sandeep/yocto/2024.1/yp-dev/sources/poky/meta/recipes-core/newlib/newlib_4.2.0.bb:do_populate_sysroot', 'mc:cortexr5-0-zynqmp-baremetal:/scratch/sandeep/yocto/2024.1/yp-dev/sources/poky/meta/recipes-devtools/cmake/cmake-native_3.24.2.bb:do_populate_sysroot', 'mc:cortexr5-0-zynqmp-baremetal:/scratch/sandeep/yocto/2024.1/yp-dev/sources/poky/meta/recipes-devtools/gcc/gcc-cross_12.2.bb:do_populate_sysroot', 'mc:cortexr5-0-zynqmp-baremetal:/scratch/sandeep/yocto/2024.1/yp-dev/sources/poky/meta/recipes-devtools/gcc/gcc-runtime_12.2.bb:do_populate_sysroot', 'mc:cortexr5-0-zynqmp-baremetal:/scratch/sandeep/yocto/2024.1/yp-dev/sources/poky/meta/recipes-devtools/gcc/libgcc_12.2.bb:do_populate_sysroot', 'mc:cortexr5-0-zynqmp-baremetal:/scratch/sandeep/yocto/2024.1/yp-dev/sources/poky/meta/recipes-devtools/quilt/quilt-native_0.67.bb:do_populate_sysroot', 'mc:cortexr5-0-zynqmp-baremetal:virtual:native:/scratch/sandeep/yocto/2024.1/yp-dev/sources/poky/../meta-virtualization/recipes-kernel/dtc/python3-dtc_1.6.1.bb:do_populate_sysroot', 'mc:cortexr5-0-zynqmp-baremetal:virtual:native:/scratch/sandeep/yocto/2024.1/yp-dev/sources/poky/../meta-virtualization/recipes-kernel/lopper/lopper_git.bb:do_populate_sysroot', 'mc:cortexr5-0-zynqmp-baremetal:virtual:native:/scratch/sandeep/yocto/2024.1/yp-dev/sources/poky/meta/recipes-devtools/ninja/ninja_1.11.1.bb:do_populate_sysroot', 'mc:cortexr5-0-zynqmp-baremetal:virtual:native:/scratch/sandeep/yocto/2024.1/yp-dev/sources/poky/meta/recipes-devtools/patch/patch_2.7.6.bb:do_populate_sysroot', 'mc:cortexr5-0-zynqmp-baremetal:virtual:native:/scratch/sandeep/yocto/2024.1/yp-dev/sources/poky/meta/recipes-devtools/pkgconfig/pkgconfig_git.bb:do_populate_sysroot', 'mc:cortexr5-0-zynqmp-baremetal:virtual:native:/scratch/sandeep/yocto/2024.1/yp-dev/sources/poky/meta/recipes-devtools/pseudo/pseudo_git.bb:do_populate_sysroot', 'mc:cortexr5-0-zynqmp-baremetal:virtual:native:/scratch/sandeep/yocto/2024.1/yp-dev/sources/poky/meta/recipes-devtools/python/python3-pyyaml_6.0.bb:do_populate_sysroot', 'mc:cortexr5-0-zynqmp-baremetal:virtual:native:/scratch/sandeep/yocto/2024.1/yp-dev/sources/poky/meta/recipes-devtools/python/python3_3.10.6.bb:do_populate_sysroot'] | NOTE: Installed into sysroot: [] | NOTE: Skipping as already exists in sysroot: ['libxil', 'device-tree', 'libgloss', 'newlib', 'cmake-native', 'gcc-cross-arm', 'gcc-runtime', 'libgcc', 'quilt-native', 'python3-dtc-native', 'lopper-native', 'ninja-native', 'patch-native', 'pkgconfig-native', 'pseudo-native', 'python3-pyyaml-native', 'python3-native', 'libtool-native', 'attr-native', 'bzip2-native', 'libtirpc-native', 'sqlite3-native', 'readline-native', 'zlib-native', 'libffi-native', 'libnsl2-native', 'xz-native', 'ncurses-native', 'util-linux-libuuid-native', 'gdbm-native', 'openssl-native', 'canps', 'qspipsu', 'xilstandalone', 'dppsu', 'gpiops', 'iicps', 'intc', 'pciepsu', 'rtcpsu', 'video-common', 'zdma', 'coresightps-dcc', 'csudma', 'resetps', 'sysmonpsu', 'dpdma', 'common', 'sdps', 'emacps', 'scugic', 'uartps', 'ddrcpsu', 'clockps', 'avbuf', 'usbpsu', 'ttcps', 'axipmon', 'ipipsu', 'wdtps', 're2c-native', 'zstd-native', 'curl-native', 'flex-native', 'binutils-cross-arm', 'gmp-native', 'libmpc-native', 'texinfo-dummy-native', 'mpfr-native', 'gnu-config-native', 'python3-installer-native', 'python3-wheel-native', 'python3-picobuild-native', 'python3-humanfriendly-native', 'python3-anytree-native', 'python3-setuptools-native', 'python3-six-native', 'python3-ruamel-yaml-native', 'python3-cython-native', 'libyaml-native', 'dtc-native', 'python3-setuptools-scm-native', 'swig-native', 'gettext-minimal-native', 'perl-native', 'm4-native', 'python3-flit-core-native', 'python3-pyparsing-native', 'python3-tomli-native', 'python3-packaging-native', 'python3-typing-extensions-native', 'python3-pip-native', 'libpcre-native', 'make-native', 'unzip-native'] | DEBUG: Python function extend_recipe_sysroot finished | DEBUG: Executing shell function do_configure | lwip213 Driver doesn't have yaml file | install: target '/scratch/sandeep/yocto/2024.1/yp-dev/build-sdt/tmp-cortexr5-0-zynqmp-baremetal/work/cortexr5-vfpv3d16-xilinx-eabi/lwip/2024.1+gitAUTOINC+2a07bc9c76-r0/git//ThirdParty/sw_services/lwip213/src//' is not a directory: No such file or directory | WARNING: /scratch/sandeep/yocto/2024.1/yp-dev/build-sdt/tmp-cortexr5-0-zynqmp-baremetal/work/cortexr5-vfpv3d16-xilinx-eabi/lwip/2024.1+gitAUTOINC+2a07bc9c76-r0/temp/run.do_configure.2679569:146 exit 1 from 'do_configure' | WARNING: Backtrace (BB generated script): | #1: do_configure, /scratch/sandeep/yocto/2024.1/yp-dev/build-sdt/tmp-cortexr5-0-zynqmp-baremetal/work/cortexr5-vfpv3d16-xilinx-eabi/lwip/2024.1+gitAUTOINC+2a07bc9c76-r0/temp/run.do_configure.2679569, line 146 | #2: main, /scratch/sandeep/yocto/2024.1/yp-dev/build-sdt/tmp-cortexr5-0-zynqmp-baremetal/work/cortexr5-vfpv3d16-xilinx-eabi/lwip/2024.1+gitAUTOINC+2a07bc9c76-r0/temp/run.do_configure.2679569, line 216 ERROR: Task (mc:cortexr5-0-zynqmp-baremetal:/scratch/sandeep/yocto/2024.1/yp-dev/sources/meta-xilinx/meta-xilinx-standalone-experimental/recipes-libraries/lwip_2024.1.bb:do_configure) failed with exit code '1' NOTE: Tasks Summary: Attempted 1246 tasks of which 1244 didn't need to be rerun and 1 failed. Summary: 1 task failed: mc:cortexr5-0-zynqmp-baremetal:/scratch/sandeep/yocto/2024.1/yp-dev/sources/meta-xilinx/meta-xilinx-standalone-experimental/recipes-libraries/lwip_2024.1.bb:do_configure Summary: There were 26 WARNING messages. Summary: There was 1 ERROR message, returning a non-zero exit code. This is due to lwip version has upgraded from 2.1.3 to 2.2.0 in esw repo, so update lwip version. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- .../recipes-libraries/lwip_2024.1.bb | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/lwip_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-libraries/lwip_2024.1.bb index 93f0b1e8..e70dfa11 100644 --- a/meta-xilinx-standalone-experimental/recipes-libraries/lwip_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-libraries/lwip_2024.1.bb @@ -1,17 +1,17 @@ inherit esw python3native -ESW_COMPONENT_SRC = "/ThirdParty/sw_services/lwip213/src/" -ESW_COMPONENT_NAME = "liblwip213.a" +ESW_COMPONENT_SRC = "/ThirdParty/sw_services/lwip220/src/" +ESW_COMPONENT_NAME = "liblwip220.a" DEPENDS += "libxil" DEPENDS:append:xilinx-freertos = "freertos10-xilinx" -EXTRA_OECMAKE += "-Dlwip213_api_mode=RAW_API" -EXTRA_OECMAKE += "-Dlwip213_dhcp_does_arp_check=ON" -EXTRA_OECMAKE += "-Dlwip213_dhcp=ON" -EXTRA_OECMAKE += "-Dlwip213_pbuf_pool_size=2048" -EXTRA_OECMAKE += "-Dlwip213_ipv6_enable=OFF" -EXTRA_OECMAKE:append:xilinx-freertos = " -Dlwip213_api_mode=SOCKET_API" +EXTRA_OECMAKE += "-Dlwip220_api_mode=RAW_API" +EXTRA_OECMAKE += "-Dlwip220_dhcp_does_arp_check=ON" +EXTRA_OECMAKE += "-Dlwip220_dhcp=ON" +EXTRA_OECMAKE += "-Dlwip220_pbuf_pool_size=2048" +EXTRA_OECMAKE += "-Dlwip220_ipv6_enable=OFF" +EXTRA_OECMAKE:append:xilinx-freertos = " -Dlwip220_api_mode=SOCKET_API" do_configure:prepend() { # This script should also not rely on relative paths and such -- cgit v1.2.3-54-g00ecf From e9058e1883d2b66f01a0f9c9a25f2cd5fc9418a1 Mon Sep 17 00:00:00 2001 From: Paul Alvin Date: Thu, 25 Jan 2024 11:25:34 +0530 Subject: meta-xilinx-standalone-experimental: recipes-applications: zynq-dram-test: Add recipe for zynq dram test This recipe does the below --> Generates the required meta-data files for the zynq dram test. --> Compiles the zynq dram test application. Signed-off-by: Paul Alvin Signed-off-by: Mark Hatle --- .../zynq-dram-test/zynq-dram-test_2024.1.bb | 50 ++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 meta-xilinx-standalone-experimental/recipes-applications/zynq-dram-test/zynq-dram-test_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-applications/zynq-dram-test/zynq-dram-test_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/zynq-dram-test/zynq-dram-test_2024.1.bb new file mode 100644 index 00000000..b5317117 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-applications/zynq-dram-test/zynq-dram-test_2024.1.bb @@ -0,0 +1,50 @@ +inherit esw deploy + +ESW_COMPONENT_SRC = "/lib/sw_apps/zynq_dram_test/src/" + +DEPENDS += "libxil xiltimer" + +inherit python3native + +do_configure:prepend() { + ( + cd ${S} + lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ + cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files + install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} + ) +} + +do_generate_app_data() { + # This script should also not rely on relative paths and such + cd ${S} + lopper ${DTS_FILE} -- bmcmake_metadata_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} hwcmake_metadata ${S} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ +} +addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" + +do_install() { + install -d ${D}/${base_libdir}/firmware + # Note that we have to make the ELF executable for it to be stripped + install -m 0755 ${B}/zynq_dram* ${D}/${base_libdir}/firmware +} + +inherit image-artifact-names + +ZYNQ_DRAM_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" + +do_deploy() { + + # We need to deploy the stripped elf, hence why not doing it from ${D} + install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/zynq_dram_test.elf ${DEPLOYDIR}/${ZYNQ_DRAM_BASE_NAME}.elf + ln -sf ${ZYNQ_DRAM_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf + ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/zynq_dram_test.elf ${WORKDIR}/package/${base_libdir}/firmware/zynq_dram.bin + install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/zynq_dram.bin ${DEPLOYDIR}/${ZYNQ_DRAM_BASE_NAME}.bin + ln -sf ${ZYNQ_DRAM_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin +} + +addtask deploy before do_build after do_package + +FILES:${PN} = "${base_libdir}/firmware/zynq_dram*" -- cgit v1.2.3-54-g00ecf From 42ad7ab65201e5772ea5744b8ba52cfd97ed7b2b Mon Sep 17 00:00:00 2001 From: Paul Alvin Date: Thu, 25 Jan 2024 11:25:35 +0530 Subject: meta-xilinx-standalone-experimental: recipes-applications: zynqmp-dram-test: Add recipe for zynqmp dram test This recipe does the below --> Generates the required meta-data files for the zynqmp dram test. --> Compiles the zynqmp dram test application. Signed-off-by: Paul Alvin Signed-off-by: Mark Hatle --- .../zynqmp-dram-test/zynqmp-dram-test_2024.1.bb | 50 ++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 meta-xilinx-standalone-experimental/recipes-applications/zynqmp-dram-test/zynqmp-dram-test_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-applications/zynqmp-dram-test/zynqmp-dram-test_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/zynqmp-dram-test/zynqmp-dram-test_2024.1.bb new file mode 100644 index 00000000..b2bcabe4 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-applications/zynqmp-dram-test/zynqmp-dram-test_2024.1.bb @@ -0,0 +1,50 @@ +inherit esw deploy + +ESW_COMPONENT_SRC = "/lib/sw_apps/zynqmp_dram_test/src/" + +DEPENDS += "libxil xiltimer" + +inherit python3native + +do_configure:prepend() { + ( + cd ${S} + lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ + cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files + install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} + ) +} + +do_generate_app_data() { + # This script should also not rely on relative paths and such + cd ${S} + lopper ${DTS_FILE} -- bmcmake_metadata_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} hwcmake_metadata ${S} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ +} +addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" + +do_install() { + install -d ${D}/${base_libdir}/firmware + # Note that we have to make the ELF executable for it to be stripped + install -m 0755 ${B}/zynqmp_dram* ${D}/${base_libdir}/firmware +} + +inherit image-artifact-names + +ZYNQMP_DRAM_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" + +do_deploy() { + + # We need to deploy the stripped elf, hence why not doing it from ${D} + install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/zynqmp_dram_test.elf ${DEPLOYDIR}/${ZYNQMP_DRAM_BASE_NAME}.elf + ln -sf ${ZYNQMP_DRAM_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf + ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/zynqmp_dram_test.elf ${WORKDIR}/package/${base_libdir}/firmware/zynqmp_dram.bin + install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/zynqmp_dram.bin ${DEPLOYDIR}/${ZYNQMP_DRAM_BASE_NAME}.bin + ln -sf ${ZYNQMP_DRAM_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin +} + +addtask deploy before do_build after do_package + +FILES:${PN} = "${base_libdir}/firmware/zynqmp_dram*" -- cgit v1.2.3-54-g00ecf From d08f7578070813726e98bb3903f44fae3cc39017 Mon Sep 17 00:00:00 2001 From: Harini T Date: Thu, 25 Jan 2024 18:35:59 +0530 Subject: meta-xilinx-standalone-experimental: Add ddr_self_refresh recipe Add recipe for ddr_self_refresh application. Signed-off-by: Harini T Signed-off-by: Mark Hatle --- .../ddr-self-refresh/ddr-self-refresh_2024.1.bb | 51 ++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 meta-xilinx-standalone-experimental/recipes-applications/ddr-self-refresh/ddr-self-refresh_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-applications/ddr-self-refresh/ddr-self-refresh_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/ddr-self-refresh/ddr-self-refresh_2024.1.bb new file mode 100644 index 00000000..001cefa9 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-applications/ddr-self-refresh/ddr-self-refresh_2024.1.bb @@ -0,0 +1,51 @@ +inherit esw deploy + +ESW_COMPONENT_SRC = "/lib/sw_apps/ddr_self_refresh/src/" + +DEPENDS += "libxil xiltimer xilpm" + +inherit python3native + +do_configure:prepend() { + ( + cd ${S} + lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ + cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files + install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} + ) +} + +do_generate_app_data() { + # This script should also not rely on relative paths and such + cd ${S} + lopper ${DTS_FILE} -- bmcmake_metadata_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} hwcmake_metadata ${S} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ +} + +addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot +do_prepare_recipe_sysroot[rdeptask] = "do_unpack" + +do_install() { + install -d ${D}/${base_libdir}/firmware + # Note that we have to make the ELF executable for it to be stripped + install -m 0755 ${B}/ddr_self_refresh* ${D}/${base_libdir}/firmware +} + +inherit image-artifact-names + +DDR_SELF_REFRESH_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" + +do_deploy() { + + # We need to deploy the stripped elf, hence why not doing it from ${D} + install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/ddr_self_refresh.elf ${DEPLOYDIR}/${DDR_SELF_REFRESH_BASE_NAME}.elf + ln -sf ${DDR_SELF_REFRESH_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf + ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/ddr_self_refresh.elf ${WORKDIR}/package/${base_libdir}/firmware/ddr_self_refresh.bin + install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/ddr_self_refresh.bin ${DEPLOYDIR}/${DDR_SELF_REFRESH_BASE_NAME}.bin + ln -sf ${DDR_SELF_REFRESH_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin +} + +addtask deploy before do_build after do_package + +FILES:${PN} = "${base_libdir}/firmware/ddr_self_refresh*" -- cgit v1.2.3-54-g00ecf From c34c8720b360f309c094137bd9413077dd72c584 Mon Sep 17 00:00:00 2001 From: Ben Levinsky Date: Thu, 25 Jan 2024 07:43:40 -0800 Subject: lopper: Update srcrev for 2024.1 lopper: assists: baremetal*: Add provision to pass float numbers from SDT as is yaml: support ruamel versions > 0.17.x lopper: assists: gen_domain_dts: Fix syntax issue in the code lopper: assists: baremetal_xparams: Done generate interruptIDs for PS peripherals isospec: refactor for speed and tracking tree: fix property iteration for json isospec. WIP2. cleanedup prints WIP: v2 unassigned devices and memory WIP: unreferenced devices can be addded, lots of address warnings assist:baremetalconfig: Avoid the error when there is no serial mapped to the processor xlnx_overlay_dt.py: Update script to support partial use cases openamp: xlnx: Enable Linux generated Device Tree to work for OpenAMP use cases Signed-off-by: Ben Levinsky Signed-off-by: Mark Hatle --- .../virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend index 4ec9050d..2d494e5e 100644 --- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend @@ -1,5 +1,5 @@ SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=master;protocol=https" -SRCREV = "6b68ec5eff078d054ab50c4718f6d3408ed51886" +SRCREV = "c4e15895dac53d26bfb57d7250a4dcc0434de91c" FILESEXTRAPATHS:prepend := "${THISDIR}/lopper:" -- cgit v1.2.3-54-g00ecf From de805e7e813347076e840fd8130258be3584f407 Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Mon, 29 Jan 2024 12:46:00 +0530 Subject: Updated SRCREV of libdfx for 2024.1_2707 libdfx: Add document for dfx_cfg_init_file() API Src: Add new API dfx_cfg_init_file() to provide more flexibility to the user Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-bsp/libdfx/libdfx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2024.1.bb b/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2024.1.bb index 11ad0268..0cbcaac7 100644 --- a/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2024.1.bb +++ b/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2024.1.bb @@ -8,7 +8,7 @@ BRANCH ?= "master" REPO ?= "git://github.com/Xilinx/libdfx.git;protocol=https" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" -SRCREV = "52c1d83c72a2b2e85d256411a199ed1baed12ae1" +SRCREV = "c8275891ead62b3dfce68c00cf466715f0ac75f1" COMPATIBLE_MACHINE = "^$" COMPATIBLE_MACHINE:zynqmp = "zynqmp" -- cgit v1.2.3-54-g00ecf From 3ae3c8294d2efe51f0d78a6551c289a28e806ce0 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Wed, 31 Jan 2024 21:11:17 -0600 Subject: Revert "u-boot-xlnx : Updated SRCREV for 2024.1_4487" This reverts commit 6f7a824d505115a01dd49386aa47b079598fc07c. Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index 2c8c4fcd..a054e0a8 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2023.01" UBRANCH = "master" -SRCREV = "00bd60bf78b370b6b3dfe671bc75c37cbb1de3ef" +SRCREV = "570c58f210ed63c4574cd851cd74fd16c7fc4777" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From fd500e7e554c190969c5d2facb14273785609acc Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Wed, 31 Jan 2024 21:11:19 -0600 Subject: Revert "u-boot-xlnx : Updated SRCREV for 2024.1_6931" This reverts commit 121edde2e704900a7b4e24b260167614705297aa. Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index a054e0a8..ba814bd4 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2023.01" UBRANCH = "master" -SRCREV = "570c58f210ed63c4574cd851cd74fd16c7fc4777" +SRCREV = "695bea48fc8367567058782fe3b936d8aa6bebd8" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From f093499575a124227a4dc1d33b0e1dea66f3d529 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 1 Feb 2024 12:46:21 +0530 Subject: qemu : Updated SRCREV for 2024.1_6715 target/arm: add the revidr property to the CPU --- meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc index 45a61dbd..db210cfa 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc @@ -1,3 +1,3 @@ XILINX_QEMU_VERSION = "v8.1.0" BRANCH = "master" -SRCREV = "df72119ac8c34a8a0a72d0ca68d987613e2b8fcd" +SRCREV = "9985abf8b47a308cd41f45bcecb76956b4f2c86a" -- cgit v1.2.3-54-g00ecf From c159e7c3682c7837708026bdec51fd96df9d4e0f Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Fri, 2 Feb 2024 12:30:12 +0530 Subject: Updated Commit ID hw-description.tcl:kconfig_syshw.py: Rename Serial DTB to U-boot/Linux sdt_flow.py: Rename dfx-static to dfx plnx_machine.py: add xen support for plnx in sdt flow. --- meta-xilinx-core/gen-machine-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf index c65da50a..aa0ccb32 160000 --- a/meta-xilinx-core/gen-machine-conf +++ b/meta-xilinx-core/gen-machine-conf @@ -1 +1 @@ -Subproject commit c65da50aca00c68e8de182f92dc1d80157b13072 +Subproject commit aa0ccb32886deaf8621680ff2a3bb21ed2670872 -- cgit v1.2.3-54-g00ecf From c8089a2ae4cd1e3dbc221ad2e2401cffda8537a0 Mon Sep 17 00:00:00 2001 From: RAM M ABINANTHAN Date: Tue, 30 Jan 2024 15:20:51 +0530 Subject: meta-xilinx-standalone-experimental: Add support for compiling srec-bootloader in Yocto flow Add recipe for srec_bootloader application. Signed-off-by: RAM M ABINANTHAN Signed-off-by: Mark Hatle --- .../srec-bootloader/srec-bootloader_2024.1.bb | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 meta-xilinx-standalone-experimental/recipes-applications/srec-bootloader/srec-bootloader_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-applications/srec-bootloader/srec-bootloader_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/srec-bootloader/srec-bootloader_2024.1.bb new file mode 100644 index 00000000..7afdb615 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-applications/srec-bootloader/srec-bootloader_2024.1.bb @@ -0,0 +1,44 @@ +inherit esw deploy + +ESW_COMPONENT_SRC = "/lib/sw_apps/srec_bootloader/src/" + +DEPENDS += "libxil xiltimer" + +inherit python3native + +do_configure:prepend() { + ( + cd ${S} + lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ + cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files + install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} + ) +} + +do_install() { + install -d ${D}/${base_libdir}/firmware + # Note that we have to make the ELF executable for it to be stripped + install -m 0755 ${B}/srec_bootloader* ${D}/${base_libdir}/firmware +} + +inherit image-artifact-names + +SREC_BOOTLOADER_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" + +ESW_CUSTOM_LINKER_FILE ?= "None" +EXTRA_OECMAKE = "-DCUSTOM_LINKER_FILE=${@d.getVar('ESW_CUSTOM_LINKER_FILE')}" + +do_deploy() { + + # We need to deploy the stripped elf, hence why not doing it from ${D} + install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/srec_bootloader.elf ${DEPLOYDIR}/${SREC_BOOTLOADER_BASE_NAME}.elf + ln -sf ${SREC_BOOTLOADER_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf + ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/srec_bootloader.elf ${WORKDIR}/package/${base_libdir}/firmware/srec_bootloader.bin + install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/srec_bootloader.bin ${DEPLOYDIR}/${SREC_BOOTLOADER_BASE_NAME}.bin + ln -sf ${SREC_BOOTLOADER_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin +} + +addtask deploy before do_build after do_package + +FILES:${PN} = "${base_libdir}/firmware/srec_bootloader*" -- cgit v1.2.3-54-g00ecf From c4bb3ad81e48abd910eb240db3af29beeb212774 Mon Sep 17 00:00:00 2001 From: RAM M ABINANTHAN Date: Tue, 30 Jan 2024 15:20:52 +0530 Subject: meta-xilinx-standalone-experimental: add support for compiling srec_spi_bootloader in Yocto flow Add recipe for srec_spi_bootloader application. Signed-off-by: RAM M ABINANTHAN Signed-off-by: Mark Hatle --- .../srec-spi-bootloader_2024.1.bb | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 meta-xilinx-standalone-experimental/recipes-applications/srec-spi-bootloader/srec-spi-bootloader_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-applications/srec-spi-bootloader/srec-spi-bootloader_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/srec-spi-bootloader/srec-spi-bootloader_2024.1.bb new file mode 100644 index 00000000..7c0f2122 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-applications/srec-spi-bootloader/srec-spi-bootloader_2024.1.bb @@ -0,0 +1,44 @@ +inherit esw deploy + +ESW_COMPONENT_SRC = "/lib/sw_apps/srec_spi_bootloader/src/" + +DEPENDS += "libxil xiltimer" + +inherit python3native + +do_configure:prepend() { + ( + cd ${S} + lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ + cp -rf ${S}/scripts/linker_files/ ${S}/${ESW_COMPONENT_SRC}/linker_files + install -m 0644 ${S}/cmake/UserConfig.cmake ${S}/${ESW_COMPONENT_SRC} + ) +} + +do_install() { + install -d ${D}/${base_libdir}/firmware + # Note that we have to make the ELF executable for it to be stripped + install -m 0755 ${B}/srec_spi_bootloader* ${D}/${base_libdir}/firmware +} + +inherit image-artifact-names + +SREC_SPI_BOOTLOADER_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" + +ESW_CUSTOM_LINKER_FILE ?= "None" +EXTRA_OECMAKE = "-DCUSTOM_LINKER_FILE=${@d.getVar('ESW_CUSTOM_LINKER_FILE')}" + +do_deploy() { + + # We need to deploy the stripped elf, hence why not doing it from ${D} + install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/srec_spi_bootloader.elf ${DEPLOYDIR}/${SREC_SPI_BOOTLOADER_BASE_NAME}.elf + ln -sf ${SREC_SPI_BOOTLOADER_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf + ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/srec_spi_bootloader.elf ${WORKDIR}/package/${base_libdir}/firmware/srec_spi_bootloader.bin + install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/srec_spi_bootloader.bin ${DEPLOYDIR}/${SREC_SPI_BOOTLOADER_BASE_NAME}.bin + ln -sf ${SREC_SPI_BOOTLOADER_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin +} + +addtask deploy before do_build after do_package + +FILES:${PN} = "${base_libdir}/firmware/srec_spi_bootloader*" -- cgit v1.2.3-54-g00ecf From 60d0051830c13a389982cefdf51a410bd7fa6e6c Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Wed, 31 Jan 2024 16:06:07 -0700 Subject: qemu-xilinx: Fix mingw compilation Mingw compilation does not support libcap-ng which is requird by the virtfs configuration. Change this to match the previous 7.1 implementation where virtfs is only enabled on the target version of qemu. Signed-off-by: Mark Hatle --- .../recipes-devtools/qemu/qemu-xilinx-package-split-8.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx-package-split-8.1.inc b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx-package-split-8.1.inc index 7671d84e..42f054e6 100644 --- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx-package-split-8.1.inc +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-devtools/qemu/qemu-xilinx-package-split-8.1.inc @@ -68,4 +68,4 @@ INSANE_SKIP:${PN}-firmware:class-target = "arch" FILES:${PN}-keymaps:class-target = "${datadir}/${PN}/keymaps/*" RDEPENDS:${PN}-keymaps:class-target = "${PN}" -PACKAGECONFIG:append = " virtfs" +PACKAGECONFIG:append:class-target = " virtfs" -- cgit v1.2.3-54-g00ecf From 86c4d310cc886f7786cacd872f8c11fc03648829 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Wed, 31 Jan 2024 20:44:17 -0700 Subject: README.md: Add SDT DFx pl overlay instructions 1. Add SDT DFx pl overlay instructions in README.md file. 2. Rename dfx-static config option to dfx as this option is changed in lopper and gen-machineconf. Also remove dfx-partial as it was place holder for early prototyping which is no longer required. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- meta-xilinx-standalone-experimental/README.md | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/meta-xilinx-standalone-experimental/README.md b/meta-xilinx-standalone-experimental/README.md index f315449f..77d2bcb8 100644 --- a/meta-xilinx-standalone-experimental/README.md +++ b/meta-xilinx-standalone-experimental/README.md @@ -68,16 +68,25 @@ $ export PATH=$PATH:/gen-machine-conf b. With SDT pl overlay: To generate SDT pl overlay run gen-machineconf command with - `-g {full|dfx-static|dfx-partial}` option. Once SDT pl overlay command is - executed successfully pl.dtsi will be generated under - /dts/${MACHINE}/pl-overlay-{full|dfx-static|dfx-partial} directory. - User can use this pl.dtsi as input to firmware recipes. + `-g {full|dfx}` option. Once SDT pl overlay command is executed successfully + pl.dtsi will be generated under /dts/${MACHINE}/pl-overlay-{full|dfx} + directory. User can use this pl.dtsi as input to full or dfx static firmware + recipes. + +> **Note:** DFx partial dtsi is not processed by gen-machineconf(lopper) tool, User +> needs to use the *_partial.dtsi and *_partial.pdi/bit from sdtgen output +> artifacts to DFx partial firmware recipes. * ZynqMP Full bitstream or Versal Segmented Configuration: ``` $ gen-machineconf parse-sdt --hw-description -c -l conf/local.conf -g full ``` + * ZynqMP or Versal DFx: +``` + $ gen-machineconf parse-sdt --hw-description -c -l conf/local.conf -g dfx +``` + For example, zynqmp: ``` $ gen-machineconf --soc-family zynqmp --hw-description -c conf/ -l conf/local.conf -- cgit v1.2.3-54-g00ecf From a5fe1fcfcc5ff28d2a0572bf3482c9d381651813 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Wed, 31 Jan 2024 20:44:18 -0700 Subject: lopper: Update SRCREV for 2024.1 Changelogs: lops: lop-microblaze-riscv: Fix handling of use-muldiv and use-fpu lopper: assists: Remove domain specific code from the assist xlnx_overlay_dt.py: Rename dfx-static to dfx asists/subsystem: make processing more robust isospec: ensure that memory and cpus are always lists Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- .../virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend index 2d494e5e..2bbabbb6 100644 --- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend @@ -1,5 +1,5 @@ SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=master;protocol=https" -SRCREV = "c4e15895dac53d26bfb57d7250a4dcc0434de91c" +SRCREV = "ed32a4a39d320e3f50db53c92a62cefd33a8971d" FILESEXTRAPATHS:prepend := "${THISDIR}/lopper:" -- cgit v1.2.3-54-g00ecf From 66674d85676383c459e3f313ebef642fe831e28f Mon Sep 17 00:00:00 2001 From: Ben Levinsky Date: Thu, 1 Feb 2024 09:07:33 -0800 Subject: libmetal-xlnx: Updated SRCREV Pick up latest commits for build examples: linux: zynqmp: Add Versal-NET IPI Values lib: generic: xlnx: Use CMAKE_C_FLAGS to determine if SDT symbol is present examples: generic: zynqmp_r5: Add symbols for System Device Flow flow lib: generic: xlnx: Enable CMake handling for System Device Tree Flow Signed-off-by: Ben Levinsky Signed-off-by: Mark Hatle --- .../openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb index 787a7327..bc1c68bb 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb @@ -1,5 +1,5 @@ -SRCBRANCH ?= "2023.2" -SRCREV = "7c88ee6342b0a141fd076a8a49c518b57b3517ac" +SRCBRANCH ?= "2024" +SRCREV = "38d29393d828e4ccdb3c621a704bab0352b45b93" BRANCH = "2024" LIC_FILES_CHKSUM ?= "file://LICENSE.md;md5=f4d5df0f12dcea1b1a0124219c0dbab4" PV = "${SRCBRANCH}+git${SRCPV}" -- cgit v1.2.3-54-g00ecf From f05e7f92189542068ad96ace1f2f8af6fd7e2a8e Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 2 Feb 2024 20:50:37 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_7375 Warp_init: App completion statement is added sw_apps :zynqmp_fsbl: Add init_array and fini_array in linker script for A53 FSBL spi: Add support for compiling driver examples in Yocto flow gpiops: Add support for compiling driver examples in Yocto flow gpiops: Update driver version uartlite: Add support for compiling driver examples in Yocto flow uartlite: Add SDT check to support interrupt example in SDT flow qspips: Add support for compiling driver examples in Yocto flow qspips: Increment driver version uartns550: Add support for compiling driver examples in Yocto flow trafgen: Add support for compiling driver examples in Yocto flow trafgen: Increment driver version iicps: Add support for compiling driver examples in Yocto flow iicps: Incremented driver version to 3.19 freertos10_xilinx: Fix the minor version in mld file. emacps: Fix warnings for IAR builds uartpsv: Add support for compiling driver examples in Yocto flow Revert "xilloader: Do delayed handoffs and subsystem activation after boot device is released" bram: Add support for compiling driver examples in Yocto flow bram: Increment driver version sw_services:xilplmi:Code spell warning fix xilpm: versal: server: Add rigel flow support for xcvp1902 dp12txss: Update driver to support HDCP1X dp12txss: update yaml file to enable multi-interrupts and VTC entries hdcp1x: Update header file with new macros dual_splitter: Update Xparameter canonical definations as per new sdt flow. dp12rxss: Update config structure to align with new sdt flow dp12rxss: Add support for multi-interrupts. dp12rxss: examples: Add support for system device-tree flow. dp12rxss: Add support for system device-tree flow. dp12txss: Add support for System-device tree flow v_hdmirxss:hdcp_key_utility: Update driver to support new system device-tree flow. v_hdmirxss:Add Multiple interrupt support for new system device-tree flow. v_hdmirxss: xhdmi_example: PassThrough: Update HDCP initialization to support system device-tree flow. v_hdmirxss:Update HDCP Controlling Logic to support system device-tree flow. v_hdmirxss1:hdcp_key_utility: Update driver to support new system device-tree flow. v_hdmirxss1:Add Multiple interrupt support for new system device-tree flow. v_hdmirxss1:Update HDCP Controlling Logic to support system device-tree flow. v_hdmitxss:xhdmi_example:PassThrough:Update HDCP initialization to support system device-tree flow. v_hdmitxss:hdcp_key_utility: Update driver to support new system device-tree flow. v_hdmitxss:Update HDCP Controlling Logic to support system device-tree flow. v_hdmitxss:Add Multiple interrupt support for new system device-tree flow. v_hdmitxss1: hdcp_key_utility:Update driver to support new system device-tree flow. v_hdmitxss1: xhdmi_example:Update application to support system device-tree flow. v_hdmitxss1: Update Yaml file to support multi-interrupts in system device-tree flow. v-hdmitxss1: Update HDCP Controlling Logic to support system device-tree flow. hdcp22_rx: Driver updates to support system device-tree flow. hdcp22_rx: Add support for system device-tree flow hdcp22_cipher:Driver updates to support system device-tree flow. hdcp22_cipher:Add support for system device-tree flow hdcp22_tx: Driver updates to support system device-tree flow. hdcp22_tx: Add support for system device-tree flow sw_services:xilplmi:Updated XPlmi_SetPmcIroFreq function lib: bsp: Fix cache invalidation range API for A9 platforms lib: bsp: Fix cache invalidation range API for Cortex-R platforms v_hdmirxss: Fixed yaml to support import examples uartps: Add support for compiling driver examples in Yocto flow xilpm: versal_common: server: Fix IpiMask and AckType in force pwr dwn lib: bsp: standalone: Update the CMakeLists.txt to pull microblaze_interrupt_handler.c file for microblaze non freertos use case explicitly spips: Add support for compiling driver examples in Yocto flow FreeRTOS Avoid mem mapping in MPU for region mapped canps: Add support for compiling examples in Yocto flow lib: bsp: xparameters_ps: Update GIC base address lib: sw_apps: memory_test: Initialize the status variable to success tft: Add support for compiling driver examples in Yocto flow tft: Increment driver version sw_apps: memory_tests: Update code to exclude memory regions from all designs sw_apps: memory_tests: Fix logic to find out instruction memories in HW design. bsp: standalone: Update lower DDR mapping calculation for MMUtbl2. xilloader: Do delayed handoffs and subsystem activation after boot device is released canps: Update example to fix compilation error in Rigel flow versal_net: psmfw: Integration into vitisng/rigel flow sw_services: xilpm: versal_net: Integration into vitisng/rigel flow --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 125fd75d..c96499a6 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "4b1aa02bd005edea08ee1dad14c8a3f2f4feb717" +ESW_REV[2024.1] = "c270d44d498dc01b324522d2eb76c5aca872bc60" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 3397dd9ba02e0cd6798ce0113e011e574c2d4c6a Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 5 Feb 2024 12:46:20 +0530 Subject: qemu : Updated SRCREV for 2024.1_7595 hw/arm/smmuv3: add support for the AFFD bit in context descriptors --- meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc index db210cfa..5cff5cfb 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc @@ -1,3 +1,3 @@ XILINX_QEMU_VERSION = "v8.1.0" BRANCH = "master" -SRCREV = "9985abf8b47a308cd41f45bcecb76956b4f2c86a" +SRCREV = "9b8b89416ce4669582c81e7ae6d91fd73628329e" -- cgit v1.2.3-54-g00ecf From 5b9e2e8a4f508ff9f71ed4bc985d24df4ef43336 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 5 Feb 2024 12:57:41 +0530 Subject: dts : Updated SRCREV for 2024.1_5707 versal-net: remove hardcoded ADMA addresses zynqmp: set correct revidr value one the Cortex-A board-versal-xcve2802: Add 2Gib OSPI flash versal: Add vhk158 es1 board --- meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb index 328511eb..ffa3b6f8 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb @@ -2,5 +2,5 @@ require qemu-devicetrees.inc BRANCH ?= "master" -SRCREV ?= "a5890bb4c95d903f9023f2a8125630fabb8e7b2c" +SRCREV ?= "2ed715388ca61bc241c32d12f681a26da54697de" -- cgit v1.2.3-54-g00ecf From 7f2930eaaf420388a45bd87c65208ecbcf46fe38 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 5 Feb 2024 16:17:53 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_1467 rfdc: Support Baremetal SDT Yocto Flow scripts: pyesw: Add support for incremental build feature emacps: driver: HwTail check post increment sw_services:xilnvm: Program RoSwap only when it is non-zero gpio: Add support for compiling driver examples in Yocto flow --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index c96499a6..b10631ce 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "c270d44d498dc01b324522d2eb76c5aca872bc60" +ESW_REV[2024.1] = "5e9d990cb9690a53a21abb849db913df3734dd33" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 4c56c54a700d166b86e2989f89d190d49305b8ed Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 6 Feb 2024 15:51:18 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_5919 lib: sw_apps: OpenAMP Demos: sdt: Streamline app-create step intc: Initialize IVAR register based on mtvec in case of Microblaze RISC-V bsp: riscv: Initialize mtvec with _trap_handler at start of boot code bsp: riscv: Add constructor to initailize mtvec with _trap_handler lib: bsp: arm: Dont invoke XTime_StartTTCTimer() if xiltimer library is enabled xxvethernet: Add support for compiling driver examples in yocto flow sw_apps: img_rcvry: Clean up sw_apps: img_rcvry: update the imgrcvry template app to support vitisng flow. clk_wiz: Add support for compiling driver examples in Yocto flow i3cpsx: Update the compatible i3cpsx: Update the base address i3cpsx: Add prints under debug i3cpsx: Add support for compiling driver examples in Yocto flow --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index b10631ce..d1b7e7f6 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "5e9d990cb9690a53a21abb849db913df3734dd33" +ESW_REV[2024.1] = "aa46b74b5068c38be498fee20d1955d91843ab24" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From ecf02e1b85ae38fd246ad12cb8303035090c6344 Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Wed, 7 Feb 2024 12:30:11 +0530 Subject: Updated Commit ID README.md: Update parse-sdt command help usage Kconfig.dtgsettings: Rename dfx-static to dfx in kconfig sdt_flow.py: Remove dfx-static and dfx-partial references sdt_ipinfo.yaml: Update compatibility strings for ethernet --- meta-xilinx-core/gen-machine-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf index aa0ccb32..ff0a08ae 160000 --- a/meta-xilinx-core/gen-machine-conf +++ b/meta-xilinx-core/gen-machine-conf @@ -1 +1 @@ -Subproject commit aa0ccb32886deaf8621680ff2a3bb21ed2670872 +Subproject commit ff0a08ae90208dc07e85498f9b04314bcdd26eba -- cgit v1.2.3-54-g00ecf From cf1c4785d8ff682613ef0e5a51696f6b334ae153 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 7 Feb 2024 12:58:08 +0530 Subject: linux-xlnx : Updated SRCREV for 2024.1_7955 tty: serial: uartps: Add rs485 support to uartps driver tty: serial: uartps: Relocate cdns_uart_tx_empty to facilitate rs485 dt-bindings: Add reference to rs485.yaml serial: core: Provide port lock wrappers v4l: xilinx: dprx: Fix lane count allowed range of values drm: xlnx: dptx: Fix unannotated fall-through between switch labels in xlnx_dp_check_clock_recovery api() drm: xlnx: dptx: Fix xlnx_dp_hdcp_exit() return value drm: xlnx: scaler: Initialize variable nr_rds arm64: versal: Configure reset gpio as active low arm64: versal: Add support for Versal Embedded+ VE2302-revA arm64: configs: Enable DisplayPort driver mmc: core: Do not force a retune before RPMB switch v4l: xilinx: vipp: Fix searching in the correct list while enabling streaming arm64: zynqmp: Add silabs, skip-recall to all si570 clk nodes soc: xilinx: Add cb event for subsystem restart firmware: xilinx: Export function to use in other module Revert "OF: overlay: Perform RCU callback barrier before releasing overlay memory resources" misc: xilinx-ai-engine: add dma_buf_get for each aie mem dmabuf created drivers: misc: xilinx-ai-engine: Remove use of uninitialized variables phy: xilinx-xhdmiphy: Fix GT pll-selection allowed range of values misc: xilinx-ai-engine: support for partitioned AIE address segments arm64: xilinx: Define bootscript address arm64: versal: Move reset-gpios property from controller node to flash node dt-bindings: xilinx: Fix all downstream bindings with latest schema dt-bindings: nvmem: Update xlnx,versal-sec-cfg description arm64: zynqmp: Remove unused zynqmp-clk.dtsi --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index 6f0c3211..e44a03ac 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.6.0" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.6;destsuffix=yocto-kmeta" KBRANCH="master" -SRCREV = "4a9aa5b144a6d3d77049d5f3af58fe810a130b96" +SRCREV = "6379f64fc25832d93ad171056c554ec34bfc4e25" SRCREV_meta = "5d0809d0d939c7738cb6e5391126c73fd0e4e865" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From 9a47669a9fa73665e1e0478c01fa2847a352aa41 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 7 Feb 2024 15:13:42 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_7123 v_hdmirxss1: Fix compilation issue with non HDCP design v_hdmirxss: Fix compilation issue with non HDCP design v_hdmitxss: Fix TxOnly application for microblaze platform v_hdmitxss: Fix PassThrough application for vcu118 platform v_hdmirxss: Fix PassThrough application for vcu118 platform v_hdmirxss1: Update PassThrough example application for VCU118 platform v_hdmitxss1: Update PassThrough example application for VCU118 platform v_hdmitxss1: Fix yaml for vck190 passthrough example application v_hdmirxss: Fix RxOnly application for microblaze platform v_hdmirxss: Fix example application build error with zc706 platform v_hdmitxss: Add SDT flow support to I2S audio example application v_hdmirxss1: Update PassThrough example application for VCU118 platform v_hdmirxss: Add SDT support in PT app for vck190 platform v_hdmitxss: Add SDT support in PT app for vck190 platform v_hdmirxss: Correct application file name in yaml file v_hdmitxss: Correct application file name in yaml file audio: Add application support for SDT flow v_sditxss: Add support for SDT flow xilpm: versal_common: server: Add CLK_IGNORE_UNUSED flag for GATE clocks sdi: Add support for SDT flow --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index d1b7e7f6..d7b24590 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "aa46b74b5068c38be498fee20d1955d91843ab24" +ESW_REV[2024.1] = "a0d7a7a740181fe191661b4cf5194608f49ac483" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 9dd34bac632fdc6b438a6bed7d05d3361c18a50b Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Mon, 5 Feb 2024 13:29:26 -0600 Subject: machine/include/arm: Backport tune files from master Backport the tune files from poky master as of commit: dd4c941e9fe9e0f1b73a934d9ecd0d165ee85474 This adds support for cortex-r5 and cortexr-r52 hard float ABI, as well as cortex-a78. Signed-off-by: Mark Hatle --- .../conf/machine/include/arm/armv7r/tune-cortexr5hf.inc | 6 ++++++ .../conf/machine/include/arm/armv8-2a/tune-cortexa78.inc | 16 ++++++++++++++++ .../conf/machine/include/arm/armv8r/tune-cortexr52hf.inc | 9 +++++++++ 3 files changed, 31 insertions(+) create mode 100644 meta-xilinx-core/conf/machine/include/arm/armv7r/tune-cortexr5hf.inc create mode 100644 meta-xilinx-core/conf/machine/include/arm/armv8-2a/tune-cortexa78.inc create mode 100644 meta-xilinx-core/conf/machine/include/arm/armv8r/tune-cortexr52hf.inc diff --git a/meta-xilinx-core/conf/machine/include/arm/armv7r/tune-cortexr5hf.inc b/meta-xilinx-core/conf/machine/include/arm/armv7r/tune-cortexr5hf.inc new file mode 100644 index 00000000..5679b989 --- /dev/null +++ b/meta-xilinx-core/conf/machine/include/arm/armv7r/tune-cortexr5hf.inc @@ -0,0 +1,6 @@ +include conf/machine/include/arm/armv7r/tune-cortexr5.inc + +AVAILTUNES += "cortexr5hf" +ARMPKGARCH:tune-cortexr5hf = "cortexr5" +TUNE_FEATURES:tune-cortexr5hf = "${TUNE_FEATURES:tune-cortexr5} callconvention-hard" +PACKAGE_EXTRA_ARCHS:tune-cortexr5hf = "cortexr5hf-vfpv3d16" diff --git a/meta-xilinx-core/conf/machine/include/arm/armv8-2a/tune-cortexa78.inc b/meta-xilinx-core/conf/machine/include/arm/armv8-2a/tune-cortexa78.inc new file mode 100644 index 00000000..8c85d98e --- /dev/null +++ b/meta-xilinx-core/conf/machine/include/arm/armv8-2a/tune-cortexa78.inc @@ -0,0 +1,16 @@ +# +# Tune Settings for Cortex-A78 +# +DEFAULTTUNE ?= "cortexa78" + +TUNEVALID[cortexa78] = "Enable Cortex-A78 specific processor optimizations" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa78', ' -mcpu=cortex-a78', '', d)}" + +require conf/machine/include/arm/arch-armv8-2a.inc + +# Little Endian base configs +AVAILTUNES += "cortexa78" +ARMPKGARCH:tune-cortexa78 = "cortexa78" +TUNE_FEATURES:tune-cortexa78 = "${TUNE_FEATURES:tune-armv8-2a-crypto} cortexa78" +PACKAGE_EXTRA_ARCHS:tune-cortexa78 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-2a-crypto} cortexa78" +BASE_LIB:tune-cortexa78 = "lib64" diff --git a/meta-xilinx-core/conf/machine/include/arm/armv8r/tune-cortexr52hf.inc b/meta-xilinx-core/conf/machine/include/arm/armv8r/tune-cortexr52hf.inc new file mode 100644 index 00000000..42c6fb37 --- /dev/null +++ b/meta-xilinx-core/conf/machine/include/arm/armv8r/tune-cortexr52hf.inc @@ -0,0 +1,9 @@ +require conf/machine/include/arm/armv8r/tune-cortexr52.inc + +# simd is special, we don't pass this to the -mfpu, it's implied +TUNE_CCARGS_MFLOAT = "${@ bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', 'hard', 'softfp', d) if (d.getVar('TUNE_CCARGS_MFPU') != '' or bb.utils.contains('TUNE_FEATURES', 'simd', True, False, d)) else '' }" + +AVAILTUNES += "cortexr52hf" +ARMPKGARCH:tune-cortexr52hf = "cortexr52" +TUNE_FEATURES:tune-cortexr52hf = "${TUNE_FEATURES:tune-cortexr52} callconvention-hard" +PACKAGE_EXTRA_ARCHS:tune-cortexr52hf = "cortexr52hf" -- cgit v1.2.3-54-g00ecf From 09b03cd17d3be7516387ef229692b00656e430fc Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Mon, 5 Feb 2024 13:32:18 -0600 Subject: soc-tune-include: Add cortex-r5{,2}hf and cortex-a78 support Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/machine/include/soc-tune-include.inc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-core/conf/machine/include/soc-tune-include.inc b/meta-xilinx-core/conf/machine/include/soc-tune-include.inc index 8f650a10..25c68f53 100644 --- a/meta-xilinx-core/conf/machine/include/soc-tune-include.inc +++ b/meta-xilinx-core/conf/machine/include/soc-tune-include.inc @@ -2,12 +2,15 @@ DEFAULTTUNE ??= "armv8a" # Unfortunately various tunefiles don't include each other, so create # a list of things to require based on the DEFAULTTUNE setting. -TUNEFILE[cortexr5] = "conf/machine/include/arm/armv7r/tune-cortexr5.inc" -TUNEFILE[cortexr52] = "conf/machine/include/arm/armv8r/tune-cortexr52.inc" +TUNEFILE[cortexr5] = "conf/machine/include/arm/armv7r/tune-cortexr5hf.inc" +TUNEFILE[cortexr5hf] = "conf/machine/include/arm/armv7r/tune-cortexr5hf.inc" +TUNEFILE[cortexr52] = "conf/machine/include/arm/armv8r/tune-cortexr52hf.inc" +TUNEFILE[cortexr52hf] = "conf/machine/include/arm/armv8r/tune-cortexr52hf.inc" TUNEFILE[cortexa9thf-neon] = "conf/machine/include/arm/armv7a/tune-cortexa9.inc" TUNEFILE[armv8a] = "conf/machine/include/arm/arch-armv8a.inc" TUNEFILE[cortexa53] = "conf/machine/include/arm/armv8a/tune-cortexa53.inc" TUNEFILE[cortexa72] = "conf/machine/include/arm/armv8a/tune-cortexa72.inc" +TUNEFILE[cortexa78] = "conf/machine/include/arm/armv8-2a/tune-cortexa78.inc" TUNEFILE[cortexa72-cortexa53] = "conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc" TUNEFILE[cortexa72-cortexa53-crypto] = "conf/machine/include/arm/armv8a/tune-cortexa72-cortexa53.inc" TUNEFILE[microblaze] = "conf/machine/include/xilinx-microblaze.inc" -- cgit v1.2.3-54-g00ecf From 0a096666a0b6b5e9acb074d402aa4803d483907c Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Mon, 5 Feb 2024 14:08:24 -0600 Subject: qemu: Sync to YP master Sync integration to Yocto Project master as of commit: 25868ee2cc3fdcbf4bff1ff4f66465e8aeef744d Note, we remain on 8.1.x version to match the AMD version. Signed-off-by: Mark Hatle --- .../recipes-devtools/qemu/qemu-8.1.inc | 12 +++++- .../recipes-devtools/qemu/qemu-8.1/no-pip.patch | 45 ++++++++++++++++++++++ .../recipes-devtools/qemu/qemu-xilinx-8.1.inc | 1 + .../qemu/qemu-xilinx-native_2024.1.bb | 2 +- .../qemu/qemu-xilinx-system-native_2024.1.bb | 4 +- .../recipes-devtools/qemu/qemu_8.1.2.bb | 2 +- 6 files changed, 60 insertions(+), 6 deletions(-) create mode 100644 meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/no-pip.patch diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1.inc index a6920fec..5154e247 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1.inc +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1.inc @@ -6,6 +6,8 @@ a variety of guest operating systems" HOMEPAGE = "http://qemu.org" LICENSE = "GPL-2.0-only & LGPL-2.1-only" +DEPENDS += "bison-native meson-native ninja-native" + RDEPENDS:${PN}-ptest = "bash" require qemu-targets-8.1.inc @@ -31,6 +33,7 @@ SRC_URI = "https://download.qemu.org/${BPN}-${PV}.tar.xz \ file://0002-linux-user-Replace-use-of-lfs64-related-functions-an.patch \ file://fixedmeson.patch \ file://fixmips.patch \ + file://no-pip.patch \ file://qemu-guest-agent.init \ file://qemu-guest-agent.udev \ " @@ -113,9 +116,13 @@ EXTRA_OECONF = " \ --extra-ldflags='${LDFLAGS}' \ --disable-download \ --disable-docs \ + --host-cc='${BUILD_CC}' \ ${PACKAGECONFIG_CONFARGS} \ " +EXTRA_OECONF:append:class-target = " --cross-prefix=${HOST_PREFIX}" +EXTRA_OECONF:append:class-nativesdk = " --cross-prefix=${HOST_PREFIX}" + B = "${WORKDIR}/build" #EXTRA_OECONF:append = " --python=${HOSTTOOLS_DIR}/python3" @@ -129,6 +136,7 @@ do_configure:prepend:class-native() { } do_configure() { + export PKG_CONFIG=pkg-config ${S}/configure ${EXTRA_OECONF} } do_configure[cleandirs] += "${B}" @@ -172,7 +180,7 @@ do_install:append() { # Disable kvm/virgl/mesa on targets that do not support it PACKAGECONFIG:remove:darwin = "kvm virglrenderer epoxy gtk+" -PACKAGECONFIG:remove:mingw32 = "kvm virglrenderer epoxy gtk+" +PACKAGECONFIG:remove:mingw32 = "kvm virglrenderer epoxy gtk+ pie" PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,libsdl2" PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng" @@ -232,6 +240,8 @@ PACKAGECONFIG[slirp] = "--enable-slirp,--disable-slirp,libslirp" PACKAGECONFIG[brlapi] = "--enable-brlapi,--disable-brlapi" PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack," PACKAGECONFIG[debuginfo] = "--enable-libdw,--disable-libdw,elfutils" +PACKAGECONFIG[pipewire] = "--enable-pipewire,--disable-pipewire,pipewire" +PACKAGECONFIG[sndio] = "--enable-sndio,--disable-sndio,sndio" INSANE_SKIP:${PN}-common = "arch" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/no-pip.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/no-pip.patch new file mode 100644 index 00000000..09e13e8b --- /dev/null +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-8.1/no-pip.patch @@ -0,0 +1,45 @@ +qemu: Ensure pip and the python venv aren't used for meson + +Qemu wants to use a supported python version and a specific meson version +to "help" users and uses pip and creates a venv to do this. This is a nightmare +for us. Our versions stay up to date and should be supported so we don't +really need/want this wrapping. Tweak things to disable it. + +There was breakage from the wrapper shown by: + +bitbake qemu-system-native + +bitbake qemu-system-native -c configure + +which would crash. The issue is the change in configuration removes pieces +from the sysroot but pyc files remainm as do pieces of pip which causes +problems. + +Ideally we'd convince upstream to allow some way to disable the venv on +the understanding that if/when it breaks, we keep the pieces. The patch +as it stands is a workaround. + +Upstream-Status: Inappropriate [oe specific] +Signed-off-by: Richard Purdie + +Index: qemu-8.1.2/configure +=================================================================== +--- qemu-8.1.2.orig/configure ++++ qemu-8.1.2/configure +@@ -1009,7 +1009,7 @@ python="$(command -v "$python")" + echo "python determined to be '$python'" + echo "python version: $($python --version)" + +-python="$($python -B "${source_path}/python/scripts/mkvenv.py" create pyvenv)" ++python=python3 + if test "$?" -ne 0 ; then + error_exit "python venv creation failed" + fi +@@ -1017,6 +1017,7 @@ fi + # Suppress writing compiled files + python="$python -B" + mkvenv="$python ${source_path}/python/scripts/mkvenv.py" ++mkvenv=true + + mkvenv_flags="" + if test "$download" = "enabled" ; then diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-8.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-8.1.inc index e27409c5..ad2af244 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-8.1.inc +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-8.1.inc @@ -61,6 +61,7 @@ SRC_URI += "\ file://0010-hw-pvrdma-Protect-against-buggy-or-malicious-guest-d.patch \ file://0002-linux-user-Replace-use-of-lfs64-related-functions-an.patch \ file://fixedmeson.patch \ + file://no-pip.patch \ file://qemu-guest-agent.init \ file://qemu-guest-agent.udev \ " diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2024.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2024.1.bb index ffcf064b..5ffdeb98 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2024.1.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2024.1.bb @@ -1,6 +1,6 @@ BPN = "qemu-xilinx" -DEPENDS = "glib-2.0-native zlib-native ninja-native meson-native" +DEPENDS += "glib-2.0-native zlib-native" require qemu-xilinx-2024.1.inc require qemu-xilinx-native-8.1.inc diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2024.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2024.1.bb index eafa2c36..7e985088 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2024.1.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2024.1.bb @@ -1,7 +1,5 @@ BPN = "qemu-xilinx" -inherit python3-dir - require qemu-system-native-alt.inc require qemu-xilinx-2024.1.inc require qemu-xilinx-native-8.1.inc @@ -9,7 +7,7 @@ require qemu-xilinx-native-8.1.inc # As some of the files installed by qemu-native and qemu-system-native # are the same, we depend on qemu-native to get the full installation set # and avoid file clashes -DEPENDS = "glib-2.0-native zlib-native pixman-native qemu-native bison-native meson-native ninja-native" +DEPENDS += "glib-2.0-native zlib-native pixman-native qemu-native" DEPENDS += "qemu-xilinx-multiarch-helper-native" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu_8.1.2.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu_8.1.2.bb index 2f9305e1..4722e1f5 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu_8.1.2.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu_8.1.2.bb @@ -4,7 +4,7 @@ FILESEXTRAPATHS:append := ":${THISDIR}/qemu-8.1" require qemu-8.1.inc -DEPENDS = "glib-2.0 zlib pixman bison-native ninja-native meson-native" +DEPENDS += "glib-2.0 zlib pixman" DEPENDS:append:libc-musl = " libucontext" -- cgit v1.2.3-54-g00ecf From ff9edba3ac31fd30c45d3f35113d04cb43065f59 Mon Sep 17 00:00:00 2001 From: Appana Durga Kedareswara rao Date: Fri, 2 Feb 2024 17:56:18 +0530 Subject: lopper: Update srcrev for 2024.1 Below are the updates lopper: assists: xlnx_overlay_dt: Fix wrong gic_node referencing setup.py: Add "packaging" module under YAML related requirements of Lopper Signed-off-by: Appana Durga Kedareswara rao Signed-off-by: Mark Hatle --- .../virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend index 2bbabbb6..3139d31c 100644 --- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend @@ -1,5 +1,5 @@ SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=master;protocol=https" -SRCREV = "ed32a4a39d320e3f50db53c92a62cefd33a8971d" +SRCREV = "b734b82132b6178eb18dd38fa4533f08f2b03a56" FILESEXTRAPATHS:prepend := "${THISDIR}/lopper:" -- cgit v1.2.3-54-g00ecf From 757bb1db286c559144070a269c20e534b5b48e71 Mon Sep 17 00:00:00 2001 From: Shubhrajyoti Datta Date: Fri, 2 Feb 2024 18:02:02 +0530 Subject: meta-xilinx: Add recipes for clock wizard Add the recipies for clocking wizard example. Signed-off-by: Shubhrajyoti Datta Signed-off-by: Mark Hatle --- .../recipes-drivers/clk-wiz-example_2024.1.bb | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/clk-wiz-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/clk-wiz-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/clk-wiz-example_2024.1.bb new file mode 100644 index 00000000..71ffdc32 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/clk-wiz-example_2024.1.bb @@ -0,0 +1,5 @@ +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "clk-wiz" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/clk_wiz/examples/" -- cgit v1.2.3-54-g00ecf From cb4aa8ece7e47020d82f09a0fed1ba20ebcf6a84 Mon Sep 17 00:00:00 2001 From: Onkar Harsh Date: Tue, 6 Feb 2024 00:31:57 +0530 Subject: lopper: Add the dependency of "packaging" module The commit 738df8cc6819 (yaml: support ruamel versions > 0.17.x) of github lopper repo introduced a new dependency for lopper over "packaging" module. Add the same in Yocto workflow. Signed-off-by: Onkar Harsh Signed-off-by: Mark Hatle --- .../virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend index 3139d31c..96b6864a 100644 --- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend @@ -10,4 +10,5 @@ RDEPENDS:${PN} += " \ python3-anytree \ python3-six \ python3-pyyaml \ + python3-packaging \ " -- cgit v1.2.3-54-g00ecf From 7d719ff7cce9f406eead2639aade01d631764661 Mon Sep 17 00:00:00 2001 From: Onkar Harsh Date: Mon, 5 Feb 2024 17:56:40 +0530 Subject: standalone: Add support for Versal Net specific CMAKE variables CMAKE_MACHINE and CMAKE_SYSTEM_PROCESSOR values are different for Versal Net than that of Versal. Update the same using the SOC_VARIANT as the SOC_FAMILY is same for both. In addition, update the SOC specific flags (defined in-house to segragate execution of some part of the boot code and the drivers) for versal and versal-net. Signed-off-by: Onkar Harsh Signed-off-by: Mark Hatle --- meta-xilinx-standalone-experimental/classes/esw.bbclass | 16 +++++++++++----- meta-xilinx-standalone/conf/distro/xilinx-standalone.inc | 2 ++ 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/meta-xilinx-standalone-experimental/classes/esw.bbclass b/meta-xilinx-standalone-experimental/classes/esw.bbclass index 53accd52..f9373b7a 100644 --- a/meta-xilinx-standalone-experimental/classes/esw.bbclass +++ b/meta-xilinx-standalone-experimental/classes/esw.bbclass @@ -32,37 +32,43 @@ do_configure[depends] += "device-tree:do_deploy" do_compile[depends] += "device-tree:do_deploy" do_install[depends] += "device-tree:do_deploy" -def get_xlnx_cmake_machine(fam, d): +def get_xlnx_cmake_machine(fam, variant, d): cmake_machine = fam if (fam == 'zynqmp'): cmake_machine = 'ZynqMP' elif (fam == 'versal'): cmake_machine = 'Versal' + if (variant == 'net'): + cmake_machine = 'VersalNet' elif (fam == 'zynq'): cmake_machine = 'Zynq' return cmake_machine -def get_xlnx_cmake_processor(tune, machine, d): +def get_xlnx_cmake_processor(tune, machine, variant, d): cmake_processor = tune if tune.startswith('microblaze'): if (machine == 'psu_pmu_0'): cmake_processor = 'pmu_microblaze' - elif (machine == 'psv_pmc_0'): + elif (machine in [ 'psv_pmc_0', 'psx_pmc_0' ]): cmake_processor = 'plm_microblaze' else: cmake_processor = 'microblaze' elif tune == 'cortexr5': cmake_processor = 'cortexr5' + elif tune == 'cortexr52': + cmake_processor = 'cortexr52' elif tune.startswith('cortexa9'): cmake_processor = 'cortexa9' elif (tune in [ 'cortexa53', 'cortexa72-cortexa53' ]): cmake_processor = 'cortexa53' elif tune == 'cortexa72': cmake_processor = 'cortexa72' + if (variant == 'net'): + cmake_processor = 'cortexa78' return cmake_processor -XLNX_CMAKE_MACHINE = "${@get_xlnx_cmake_machine(d.getVar('SOC_FAMILY'), d)}" -XLNX_CMAKE_PROCESSOR = "${@get_xlnx_cmake_processor(d.getVar('DEFAULTTUNE'), d.getVar('ESW_MACHINE'), d)}" +XLNX_CMAKE_MACHINE = "${@get_xlnx_cmake_machine(d.getVar('SOC_FAMILY'), d.getVar('SOC_VARIANT'), d)}" +XLNX_CMAKE_PROCESSOR = "${@get_xlnx_cmake_processor(d.getVar('DEFAULTTUNE'), d.getVar('ESW_MACHINE'), d.getVar('SOC_VARIANT'), d)}" XLNX_CMAKE_SYSTEM_NAME ?= "Generic" XLNX_CMAKE_BSP_VARS ?= "" diff --git a/meta-xilinx-standalone/conf/distro/xilinx-standalone.inc b/meta-xilinx-standalone/conf/distro/xilinx-standalone.inc index 27c19081..62c5a211 100644 --- a/meta-xilinx-standalone/conf/distro/xilinx-standalone.inc +++ b/meta-xilinx-standalone/conf/distro/xilinx-standalone.inc @@ -15,6 +15,8 @@ ESW_CFLAGS ?= "" # Cortex R5 requires an additional cflag to be passed for compatibility with the embeddedsw TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr5', ' -DARMR5', '', d)}" +TUNE_CCARGS:append:versal = " -Dversal" +TUNE_CCARGS:append:versal-net = " -DVERSAL_NET" # Make sure all regular recipes are excluded from compatibility # Avoid using this for native, nativesdk or cross recipes -- cgit v1.2.3-54-g00ecf From 2255341f9981555f2ff65529a9f73deb3ab1ba7c Mon Sep 17 00:00:00 2001 From: Ben Levinsky Date: Mon, 5 Feb 2024 08:08:27 -0800 Subject: libmetal-xlnx: Updated SRCREV examples: linux: zynqmp: Add Versal-NET IPI Values lib: generic: xlnx: Use CMAKE_C_FLAGS to determine if SDT symbol is present Signed-off-by: Ben Levinsky Signed-off-by: Mark Hatle --- .../openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb index bc1c68bb..4ef5f4ee 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb @@ -1,5 +1,5 @@ SRCBRANCH ?= "2024" -SRCREV = "38d29393d828e4ccdb3c621a704bab0352b45b93" +SRCREV = "b73ba4259aedde683c5d8105111dec8d0814ae79" BRANCH = "2024" LIC_FILES_CHKSUM ?= "file://LICENSE.md;md5=f4d5df0f12dcea1b1a0124219c0dbab4" PV = "${SRCBRANCH}+git${SRCPV}" -- cgit v1.2.3-54-g00ecf From feebb1c01a1f2952f83fe0fd33345e3ae7342260 Mon Sep 17 00:00:00 2001 From: Ben Levinsky Date: Mon, 5 Feb 2024 08:08:28 -0800 Subject: open-amp-xlnx: Updated SRCREV apps: zynqmp_r5: Enable build with latest SDT BSP Signed-off-by: Ben Levinsky Signed-off-by: Mark Hatle --- .../openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb index ce89d764..c9da3ba9 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb @@ -1,5 +1,5 @@ -SRCBRANCH ?= "2023.2" -SRCREV = "e90bcceb46642a815ce821d5d4399f5eaf78e9b3" +SRCBRANCH ?= "2024" +SRCREV = "a1051bf31a494c979b9a92cd371500239a986063" BRANCH = "2024" LIC_FILES_CHKSUM ?= "file://LICENSE.md;md5=ab88daf995c0bd0071c2e1e55f3d3505" PV = "${SRCBRANCH}+git${SRCPV}" -- cgit v1.2.3-54-g00ecf From a8d658b47c81b7730c88cca2731a9efffcb26ec7 Mon Sep 17 00:00:00 2001 From: Ben Levinsky Date: Mon, 5 Feb 2024 08:08:29 -0800 Subject: lopper: Update srcrev for 2024.1 lopper: assists: baremetal_xparameters_xlnx: Fix subnode_phandle property generation Signed-off-by: Ben Levinsky Signed-off-by: Mark Hatle --- .../virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend index 96b6864a..09750d5b 100644 --- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend @@ -1,5 +1,5 @@ SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=master;protocol=https" -SRCREV = "b734b82132b6178eb18dd38fa4533f08f2b03a56" +SRCREV = "3b8462ba7811e334290d07ef13434db773523378" FILESEXTRAPATHS:prepend := "${THISDIR}/lopper:" -- cgit v1.2.3-54-g00ecf From 72713cbff38f02967d2cbaa64500ecefcadc0fc6 Mon Sep 17 00:00:00 2001 From: Ben Levinsky Date: Mon, 5 Feb 2024 08:08:30 -0800 Subject: meta-xilinx-standalone-experimental: libmetal: pick up multiconfig recipe Update to use latest Libmetal and MC recipe. Signed-off-by: Ben Levinsky Signed-off-by: Mark Hatle --- .../recipes-openamp/libmetal/libmetal-xlnx_%.bbappend | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/meta-xilinx-standalone-experimental/recipes-openamp/libmetal/libmetal-xlnx_%.bbappend b/meta-xilinx-standalone-experimental/recipes-openamp/libmetal/libmetal-xlnx_%.bbappend index c80c2ff0..5434c9a5 100644 --- a/meta-xilinx-standalone-experimental/recipes-openamp/libmetal/libmetal-xlnx_%.bbappend +++ b/meta-xilinx-standalone-experimental/recipes-openamp/libmetal/libmetal-xlnx_%.bbappend @@ -1,11 +1 @@ -SRCREV = "00fd771adc7adaed664ed6c5bc3d48d25856fe5c" -REPO = "git://github.com/Xilinx/libmetal.git;protocol=https" -BRANCH = "xlnx_rel_v2023.2" -SRCBRANCH = "${BRANCH}" -PV = "${SRCBRANCH}+git${SRCPV}" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=f4d5df0f12dcea1b1a0124219c0dbab4" - -IMPL = "" -IMPL:xilinx-standalone = "${LAYER_PATH_openamp-layer}/vendor/xilinx/meta-xilinx-standalone-experimental/recipes-openamp/libmetal/libmetal-xlnx-standalone.inc" -IMPL:xilinx-freertos = "${LAYER_PATH_openamp-layer}/vendor/xilinx/meta-xilinx-standalone-experimental/recipes-openamp/libmetal/libmetal-xlnx-standalone.inc" -require ${IMPL} +require ${LAYER_PATH_openamp-layer}/vendor/xilinx/meta-xilinx-standalone-experimental/recipes-openamp/libmetal/libmetal-xlnx.inc -- cgit v1.2.3-54-g00ecf From 307ecf0dfe46682895047a00bc5c53de780ce109 Mon Sep 17 00:00:00 2001 From: Ben Levinsky Date: Mon, 5 Feb 2024 08:08:31 -0800 Subject: libmetal-xlnx: 2024.1: Include libmetal-xlnx.inc to pick up machine Pass CFLAG to Libmetal Repo for Xilinx-AMD build of Libmetal AMP Demo from meta-openamp file libmetal-xlnx.inc Signed-off-by: Ben Levinsky Signed-off-by: Mark Hatle --- .../openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb index 4ef5f4ee..ef762c71 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb @@ -7,6 +7,7 @@ PV = "${SRCBRANCH}+git${SRCPV}" REPO = "git://github.com/Xilinx/libmetal.git;protocol=https" include ${LAYER_PATH_openamp-layer}/recipes-openamp/libmetal/libmetal.inc +include ${LAYER_PATH_openamp-layer}/vendor/xilinx/recipes-openamp/libmetal/libmetal-xlnx.inc RPROVIDES:${PN}-dbg += "libmetal-dbg" RPROVIDES:${PN}-dev += "libmetal-dev" -- cgit v1.2.3-54-g00ecf From 1e22674ab5cd97ad411c0b88f5f6aa08105cd320 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 8 Feb 2024 12:46:18 +0530 Subject: qemu : Updated SRCREV for 2024.1_8003 qdev-core.h: Add docs to AMD/Xilinx extensions --- meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc index 5cff5cfb..378f1fdf 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc @@ -1,3 +1,3 @@ XILINX_QEMU_VERSION = "v8.1.0" BRANCH = "master" -SRCREV = "9b8b89416ce4669582c81e7ae6d91fd73628329e" +SRCREV = "0b383fe2b61439655429f4d7a3bd79a8c82d6f66" -- cgit v1.2.3-54-g00ecf From 5c40020118fdee113c312d108869234ae49e8c02 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 9 Feb 2024 12:46:16 +0530 Subject: qemu : Updated SRCREV for 2024.1_6439 remote-port: Fix full house check versal: Add SERBS support on AFIFS for LPD & FPD remote-port-memory-master: Implement timed response waits versal: Add the SERBS interface remote-port: Add timed wait for responses versal: Add LPD & FPD interconnect config regs hw/core: remove the dma-ctrl interface hw: remove OSPI and DMA CSU legacy models hw/ssi/xlnx-versal-ospi: align GPIO declaration with the legacy model hw/dma/xlnx_csu_dma: add support for 128 bits CRC hw/dma/xlnx_csu_dma: fix the dma-width property comment hw/dma/xlnx_csu_dma: add support for unaligned accesses hw/dma/xlnx_csu_dma: split endianness swapping logic in its own function hw/dma/xlnx_csu_dma: split CRC computation in its own function hw/dma/xlnx_csu_dma: change is-dst property default value to false hw/dma/xlnx_csu_dma: add memattr and memattr-write legacy properties hw/dma/xlnx_csu_dma: add legacy stream-connected-dma[01] properties --- meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc index 378f1fdf..252b3372 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc @@ -1,3 +1,3 @@ XILINX_QEMU_VERSION = "v8.1.0" BRANCH = "master" -SRCREV = "0b383fe2b61439655429f4d7a3bd79a8c82d6f66" +SRCREV = "0b57a0590b6da4b0f84f987ac559a6462321f27d" -- cgit v1.2.3-54-g00ecf From 2e97fa352b5cf5f17712de96951ffca82c879bae Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 9 Feb 2024 15:17:51 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_4819 mipicsiss: Add support for VEK280 mipicsiss: Add support of SDT flow to VCK190 mipiss: fix yaml files scripts: linker_files: Fix constructors for Microblaze RISC-V scripts: linker_files: Fix initialization of sbss and sbss2 sections bsp: standalone: Fix compilation warnings. sw_services: IS25LX512M flash support. lwip: Fix final timestamp in standalone and freertos lwip iic: Add support for compiling driver examples in Yocto flow dp14txss: Add yaml changes to support import examples dp14rxss: Add yaml changes to support import examples dp12txss: Add yaml changes to support import examples dp12rxss: Add yaml changes to support import examples --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index d7b24590..ae7d39cd 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "a0d7a7a740181fe191661b4cf5194608f49ac483" +ESW_REV[2024.1] = "5cbc2349518b348aeffd9e912d64310b9684e26d" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From fb339f5e1f2d3173addbb7acd31d63c78d63a21d Mon Sep 17 00:00:00 2001 From: Onkar Harsh Date: Tue, 6 Feb 2024 16:33:24 +0530 Subject: standalone: Add support for r5/r52 hf tunes c45298aaf4fe commit (machine/include/arm: Backport tune files from master) in meta-xilinx layer added the support for cortex-r5 and cortexr-r52 hard float ABI tunes. Update the conditions that generate the CMAKE_SYSTEM_PROCESSOR to incorporate these two new tunes. Moreover, some additional cflags (-DARMR5 -DARMR52) are needed to compile Cortex R52 specific boot code in embeddedsw. Update the same. Signed-off-by: Onkar Harsh Signed-off-by: Mark Hatle --- meta-xilinx-standalone-experimental/classes/esw.bbclass | 4 ++-- meta-xilinx-standalone/conf/distro/xilinx-standalone.inc | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-standalone-experimental/classes/esw.bbclass b/meta-xilinx-standalone-experimental/classes/esw.bbclass index f9373b7a..f13df66b 100644 --- a/meta-xilinx-standalone-experimental/classes/esw.bbclass +++ b/meta-xilinx-standalone-experimental/classes/esw.bbclass @@ -53,9 +53,9 @@ def get_xlnx_cmake_processor(tune, machine, variant, d): cmake_processor = 'plm_microblaze' else: cmake_processor = 'microblaze' - elif tune == 'cortexr5': + elif (tune in [ 'cortexr5', 'cortexr5hf' ]): cmake_processor = 'cortexr5' - elif tune == 'cortexr52': + elif (tune in [ 'cortexr52', 'cortexr52hf' ]): cmake_processor = 'cortexr52' elif tune.startswith('cortexa9'): cmake_processor = 'cortexa9' diff --git a/meta-xilinx-standalone/conf/distro/xilinx-standalone.inc b/meta-xilinx-standalone/conf/distro/xilinx-standalone.inc index 62c5a211..e38342b5 100644 --- a/meta-xilinx-standalone/conf/distro/xilinx-standalone.inc +++ b/meta-xilinx-standalone/conf/distro/xilinx-standalone.inc @@ -15,6 +15,7 @@ ESW_CFLAGS ?= "" # Cortex R5 requires an additional cflag to be passed for compatibility with the embeddedsw TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr5', ' -DARMR5', '', d)}" +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexr52', ' -DARMR5 -DARMR52', '', d)}" TUNE_CCARGS:append:versal = " -Dversal" TUNE_CCARGS:append:versal-net = " -DVERSAL_NET" -- cgit v1.2.3-54-g00ecf From a4cb65b56e0262ca236eb613d96973078424de69 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Tue, 6 Feb 2024 23:16:47 -0700 Subject: dfx_user_dts: Fix build issue if SRC_URI has only one file 1. If SRC_URI has only one file without any space as shown below SRC_URI = "file://vck190-dfx-static.pdi" With this it fails to detect input entries. This is due to current search logic doesn't work unless there is a space after end of file name or new line for each entry as shown below. SRC_URI = "file://vck190-dfx-static.pdi " or SRC_URI = " \ file://vck190-dfx-static.pdi \ " So rewrite the logic to split the SRC_URI enteries and then search key w/o the trailing space. 2. Remove get_dt_count function to avoid duplication. 3. Add docs for *_PATH variables. 4. Add warn message when multiple dtbo or bit or bin or pdi file is found. 5. Fix DTSI_PATH, BIT_PATH build issue when input files are absolute path. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- .../classes-recipe/dfx_user_dts.bbclass | 107 +++++++++++---------- 1 file changed, 57 insertions(+), 50 deletions(-) diff --git a/meta-xilinx-core/classes-recipe/dfx_user_dts.bbclass b/meta-xilinx-core/classes-recipe/dfx_user_dts.bbclass index 9f63fccc..2b699d9d 100644 --- a/meta-xilinx-core/classes-recipe/dfx_user_dts.bbclass +++ b/meta-xilinx-core/classes-recipe/dfx_user_dts.bbclass @@ -1,5 +1,5 @@ # -# Copyright (C) 2023, Advanced Micro Devices, Inc. All rights reserved. +# Copyright (C) 2023-2024, Advanced Micro Devices, Inc. All rights reserved. # # SPDX-License-Identifier: MIT # @@ -30,12 +30,23 @@ S ?= "${WORKDIR}" FW_DIR ?= "" DTSI_PATH ?= "" DTBO_PATH ?= "" +BIT_PATH ?= "" +BIN_PATH ?= "" +PDI_PATH ?= "" +JSON_PATH ?= "" +XCl_PATH ?= "" DT_FILES_PATH = "${S}/${DTSI_PATH}" FIRMWARE_NAME_DT_FILE ?= "" USER_DTS_FILE ?= "" FIRMWARE_NAME_DT_FILE[doc] = "DT file which has firmware-name device-tree property" USER_DTS_FILE[doc] = "Final DTSI or DTS file which is used for packaging final DT overlay" +DTSI_PATH[doc] = "Absolute '.dtsi' or ''.dts' file path as input to SRC_URI" +DTBO_PATH[doc] = "Absolute '.dtbo' file path as input to SRC_URI" +BIT_PATH[doc] = "Absolute '.bit' file path as input to SRC_URI" +BIN_PATH[doc] = "Absolute '.bin' file path as input to SRC_URI" +JSON_PATH[doc] = "Absolute '.json' file path as input to SRC_URI" +XCL_PATH[doc] = "Absolute '.xclbin' file path as input to SRC_URI" python() { import re @@ -50,26 +61,39 @@ python() { pdi_found = False # Required Inputs - if '.dtsi ' in d.getVar("SRC_URI") or '.dts ' in d.getVar("SRC_URI"): - dtsi_found = True - d.setVar("DTSI_PATH",os.path.dirname([a for a in d.getVar('SRC_URI').split() if '.dtsi' in a or '.dts' in a][0].lstrip('file://'))) - - if '.dtbo ' in d.getVar("SRC_URI"): - dtbo_found = True - d.setVar("DTBO_PATH",os.path.dirname([a for a in d.getVar('SRC_URI').split() if '.dtbo' in a][0].lstrip('file://'))) - - if soc_family == "zynq" or soc_family == "zynqmp": - if '.bit ' in d.getVar("SRC_URI"): - bit_found = True - d.setVar("BIT_PATH",os.path.dirname([a for a in d.getVar('SRC_URI').split() if '.bit' in a][0].lstrip('file://'))) - - if '.bin ' in d.getVar("SRC_URI"): - bin_found = True - d.setVar("BIN_PATH",os.path.dirname([a for a in d.getVar('SRC_URI').split() if '.bin' in a][0].lstrip('file://'))) - else: - if '.pdi ' in d.getVar("SRC_URI"): - pdi_found = True - d.setVar("PDI_PATH",os.path.dirname([a for a in d.getVar('SRC_URI').split() if '.pdi' in a][0].lstrip('file://'))) + for s in d.getVar("SRC_URI").split(): + if s.endswith(('.dtsi', '.dts')): + dtsi_found = True + d.setVar("DTSI_PATH",os.path.dirname(s.lstrip('file://'))) + if s.endswith('.dtbo'): + if dtbo_found: + bb.warn("More then one '.dtbo' file specified in SRC_URI.") + dtbo_found = True + d.setVar("DTBO_PATH",os.path.dirname(s.lstrip('file://'))) + if soc_family == "zynq" or soc_family == "zynqmp": + if s.endswith('.bit'): + if bit_found: + bb.warn("More then one '.bit' file specified in SRC_URI.") + bit_found = True + d.setVar("BIT_PATH",os.path.dirname(s.lstrip('file://'))) + if s.endswith('.bin'): + if bin_found: + bb.warn("More then one '.bin' file specified in SRC_URI.") + bin_found = True + d.setVar("BIN_PATH",os.path.dirname(s.lstrip('file://'))) + else: + if s.endswith('.pdi'): + if pdi_found: + bb.warn("More then one '.pdi' file specified in SRC_URI.") + pdi_found = True + d.setVar("PDI_PATH",os.path.dirname(s.lstrip('file://'))) + + # Optional input + if s.endswith('.json'): + d.setVar("JSON_PATH",os.path.dirname(s.lstrip('file://'))) + + if s.endswith('.xclbin'): + d.setVar("XCL_PATH",os.path.dirname(s.lstrip('file://'))) # Check for valid combination of input files in SRC_URI # Skip recipe if any of the below conditions are not satisfied. @@ -104,27 +128,14 @@ python() { raise bb.parse.SkipRecipe("Recipe has more than one '.dtsi' and zero '.dts' found, this is an unsupported use case") elif dts_count > 1: raise bb.parse.SkipRecipe("Recipe has more than one '.dts' and zero or more than one '.dtsi' found, this is an unsupported use case") - - # Optional input - if '.json ' in d.getVar("SRC_URI"): - d.setVar("JSON_PATH",os.path.dirname([a for a in d.getVar('SRC_URI').split() if '.json' in a][0].lstrip('file://'))) - - if '.xclbin ' in d.getVar("SRC_URI"): - d.setVar("XCL_PATH",os.path.dirname([a for a in d.getVar('SRC_URI').split() if '.xclbin' in a][0].lstrip('file://'))) } -# Function to get dts or dtsi file count. -def get_dt_count(d, dt_ext): - import glob - dt_count = sum(1 for f in glob.iglob((d.getVar('S') + (d.getVar('DTSI_PATH')) + '/*.' + dt_ext),recursive=True) if os.path.isfile(f)) - return dt_count - # Function to search for dt firmware-name property in dts or dtsi file. python find_firmware_file() { import glob pattern_fw = 'firmware-name' search_count = 0 - for dt_files in glob.iglob((d.getVar('S') + (d.getVar('DTSI_PATH')) + '/*.dts*'),recursive=True): + for dt_files in glob.iglob((d.getVar('S') + '/' + (d.getVar('DTSI_PATH')) + '/*.dts*'),recursive=True): with open(dt_files, "r") as f: current_fd = f.read() if pattern_fw in current_fd: @@ -147,9 +158,9 @@ python do_configure() { # Renaming firmware-name using $PN as bitstream/PDI will be renamed using # $PN when generating the bin/pdi file. - if os.path.isfile(d.getVar('S') + (d.getVar('DTSI_PATH') or '') + '/' + d.getVar('FIRMWARE_NAME_DT_FILE')): - orig_dtsi = glob.glob(d.getVar('S')+ (d.getVar('DTSI_PATH') or '') + '/' + d.getVar('FIRMWARE_NAME_DT_FILE'))[0] - new_dtsi = d.getVar('S') + '/pl.dtsi_firmwarename' + if os.path.isfile(d.getVar('S') + '/' + (d.getVar('DTSI_PATH') or '') + '/' + d.getVar('FIRMWARE_NAME_DT_FILE')): + orig_dtsi = glob.glob(d.getVar('S') + '/' + (d.getVar('DTSI_PATH') or '') + '/' + d.getVar('FIRMWARE_NAME_DT_FILE'))[0] + new_dtsi = d.getVar('S') + '/' + (d.getVar('DTSI_PATH') or '') + '/pl.dtsi_firmwarename' with open(new_dtsi, 'w') as newdtsi: with open(orig_dtsi) as olddtsi: for line in olddtsi: @@ -168,19 +179,17 @@ python devicetree_do_compile:append() { dtbo_count = sum(1 for f in glob.iglob((d.getVar('S') + '/*.dtbo'),recursive=True) if os.path.isfile(f)) bin_count = sum(1 for f in glob.iglob((d.getVar('S') + '/*.bin'),recursive=True) if os.path.isfile(f)) - # Skip devicetree do_compile task if input file is dtbo or bin in SRC_URI if not dtbo_count and not bin_count: # Convert .bit to .bin format only if dtsi is input. # In case of dtbo as input, bbclass doesn't know if firmware-name is .bit # or .bin format and corresponding file name. Hence we are not doing .bin # conversion. - if soc_family == 'zynq' or soc_family == 'zynqmp' and glob.glob(d.getVar('S') + '/' + d.getVar('FIRMWARE_NAME_DT_FILE')): + if soc_family == 'zynq' or soc_family == 'zynqmp' and glob.glob(d.getVar('S') + '/' +(d.getVar('DTSI_PATH') or '') + '/' + d.getVar('FIRMWARE_NAME_DT_FILE')): pn = d.getVar('PN') biffile = pn + '.bif' - with open(biffile, 'w') as f: - f.write('all:\n{\n\t' + glob.glob(d.getVar('S')+(d.getVar('BIT_PATH') or '') + '/*.bit')[0] + '\n}') + f.write('all:\n{\n\t' + glob.glob(d.getVar('S') + '/' + (d.getVar('BIT_PATH') or '') + '/*.bit')[0] + '\n}') bootgenargs = ["bootgen"] + (d.getVar("BOOTGEN_FLAGS") or "").split() bootgenargs += ["-image", biffile, "-o", pn + ".bin"] @@ -193,7 +202,7 @@ python devicetree_do_compile:append() { # ${PN}.bin which matches the firmware name in dtbo and move # ${PN}.bin to ${B} directory. if soc_family == 'zynq': - src_bitbin_file = glob.glob(d.getVar('S') + (d.getVar('BIT_PATH') or '') + '/*.bin')[0] + src_bitbin_file = glob.glob(d.getVar('S') + '/' + (d.getVar('BIT_PATH') or '') + '/*.bin')[0] dst_bitbin_file = d.getVar('B') + '/' + pn + '.bin' shutil.move(src_bitbin_file, dst_bitbin_file) @@ -207,17 +216,15 @@ python devicetree_do_compile:append() { # overlay file. python find_user_dts_overlay_file() { import glob - dtbo_count = sum(1 for f in glob.iglob((d.getVar('S') + '/*.dtbo'),recursive=True) if os.path.isfile(f)) - dts_count = sum(1 for f in glob.iglob((d.getVar('S') + '/*.dts'),recursive=True) if os.path.isfile(f)) - dtsi_count = sum(1 for f in glob.iglob((d.getVar('S') + '/*.dtsi'),recursive=True) if os.path.isfile(f)) + dtbo_count = sum(1 for f in glob.iglob((d.getVar('S') + '/' + d.getVar('DTBO_PATH') + '/*.dtbo'),recursive=True) if os.path.isfile(f)) + dts_count = sum(1 for f in glob.iglob((d.getVar('S') + '/' + d.getVar('DTSI_PATH') + '/*.dts'),recursive=True) if os.path.isfile(f)) + dtsi_count = sum(1 for f in glob.iglob((d.getVar('S') + '/' + d.getVar('DTSI_PATH') + '/*.dtsi'),recursive=True) if os.path.isfile(f)) # Set USER_DTS_FILE if input file is dts/dtsi in SRC_URI else skip operation. if not dtbo_count and dts_count or dtsi_count: - dts_count = get_dt_count(d, 'dts') - dtsi_count = get_dt_count(d, 'dtsi') if dtsi_count == 1 and dts_count == 0: - dts_file = glob.glob(d.getVar('S')+ (d.getVar('DTSI_PATH') or '') + '/*.dtsi')[0] + dts_file = glob.glob(d.getVar('S') + '/' + (d.getVar('DTSI_PATH') or '') + '/*.dtsi')[0] elif dtsi_count >=0 and dts_count == 1: - dts_file = glob.glob(d.getVar('S')+ (d.getVar('DTSI_PATH') or '') + '/*.dts')[0] + dts_file = glob.glob(d.getVar('S') + '/' + (d.getVar('DTSI_PATH') or '') + '/*.dts')[0] else: dts_file = '' -- cgit v1.2.3-54-g00ecf From d9e81fef17d5b3d300786d0bd27274faa093ee0c Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Wed, 7 Feb 2024 12:47:13 +0530 Subject: Updated SRCREV of vcu-ctrl-sw for 2024.1_4379 chore: update to revision d20240111 chore: update to revision d20231213 Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb index cce373d1..723458fb 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb @@ -1,14 +1,14 @@ SUMMARY = "Control Software for VCU" DESCRIPTION = "Control software libraries, test applications and headers provider for VCU" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=ef69c2bb405668101824f0b644631e2e" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=002a0a92906100955ea6ed02dcd2c2cd" XILINX_VCU_VERSION = "1.0.0" PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" BRANCH ?= "master" REPO ?= "git://github.com/Xilinx/vcu-ctrl-sw.git;protocol=https" -SRCREV = "db03f28ddcc07d55fe5ee4125e9a316faca26835" +SRCREV = "9227ef1675e980d6d05c85285f7d1d74521a7903" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" -- cgit v1.2.3-54-g00ecf From 5a6149c0ff164bff26b6bddba81f3124c7a775b6 Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Wed, 7 Feb 2024 12:47:32 +0530 Subject: Updated SRCREV of vcu-firmware for 2024.1_8707 chore: update to revision d20240111 chore: update to revision d20231213 Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb index f80aff27..d12f36eb 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb @@ -1,7 +1,7 @@ SUMMARY = "Firmware for VCU" DESCRIPTION = "Firmware binaries provider for VCU" LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=52eb1e8f27e0e189b175c7d75f028cc6" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=9bef8aa9d1eba8aca1b7dffdef500262" XILINX_VCU_VERSION = "1.0.0" PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" @@ -10,7 +10,7 @@ S = "${WORKDIR}/git" BRANCH ?= "master" REPO ?= "git://github.com/Xilinx/vcu-firmware.git;protocol=https" -SRCREV = "5382db287f02c0d95f2b7ee5f00b4d825915a01b" +SRCREV = "3f2e63c4709340575d252ad2af59b3bef17a9916" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" -- cgit v1.2.3-54-g00ecf From a39a67ac1e007b56eb44e4e92bcf393fa0591e5e Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Wed, 7 Feb 2024 12:48:06 +0530 Subject: Updated SRCREV of vcu-omx-il for 2024.1_9303 chore!: update to revision d20240111 chore: update to revision d20231213 Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb index c8159cad..420fdf1d 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb @@ -1,14 +1,14 @@ SUMMARY = "OpenMAX Integration layer for VCU" DESCRIPTION = "OMX IL Libraries,test applications and headers for VCU" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=ef69c2bb405668101824f0b644631e2e" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=002a0a92906100955ea6ed02dcd2c2cd" XILINX_VCU_VERSION = "1.0.0" PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" BRANCH ?= "master" REPO ?= "git://github.com/Xilinx/vcu-omx-il.git;protocol=https" -SRCREV = "e7dcbba5bc5087f49369f10c3424ecbe3ff8b792" +SRCREV = "01e45e0ac2f869cd46286307ae94d19010fd46df" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" -- cgit v1.2.3-54-g00ecf From 90fdbf51121bcf987d403590e247bf4449b8688f Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Thu, 8 Feb 2024 12:48:45 +0530 Subject: Updated SRCREV of vdu-omx-il for 2024.1_9331 chore!: update to revision d20240111 chore: update to revision d20231213 Added missing header files for Yocto project master(gcc 13.2) Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb index d37af28d..64d23408 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb @@ -1,7 +1,7 @@ SUMMARY = "OpenMAX Integration layer for VDU" DESCRIPTION = "OMX IL Libraries,test application and headers for VDU" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=ef69c2bb405668101824f0b644631e2e" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=002a0a92906100955ea6ed02dcd2c2cd" XILINX_VDU_VERSION = "1.0.0" PV =. "${XILINX_VDU_VERSION}-xilinx-v" @@ -9,7 +9,7 @@ PV .= "+git${SRCPV}" BRANCH ?= "master" REPO ?= "git://github.com/Xilinx/vdu-omx-il.git;protocol=https" -SRCREV ?= "18716131c2d66ed5a0f6f381f155e80a21ca18f4" +SRCREV ?= "a116b0729ace66117ccb7c2aca125c33994b0f41" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG} \ -- cgit v1.2.3-54-g00ecf From 8a339f4bb2864ae9f05388cd6f941a017c34cca3 Mon Sep 17 00:00:00 2001 From: Ben Levinsky Date: Mon, 5 Feb 2024 15:18:22 -0800 Subject: versal-net-openamp.dtsi: Update R52-1 node to reference second mailbox node Signed-off-by: Ben Levinsky Signed-off-by: Mark Hatle --- .../openamp-layer/recipes-bsp/device-tree/files/versal-net-openamp.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/versal-net-openamp.dtsi b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/versal-net-openamp.dtsi index c0896a6b..a918faf2 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/versal-net-openamp.dtsi +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/versal-net-openamp.dtsi @@ -122,7 +122,7 @@ sram = <&tcm_1a>, <&tcm_1b>, <&tcm_1c>; memory-region = <&rproc_1_reserved>, <&rpu1vdev0buffer>, <&rpu1vdev0vring0>, <&rpu1vdev0vring1>; power-domain = <&versal_net_firmware 0x181100C0>; - mboxes = <&ipi_mailbox_rpu0 0>, <&ipi_mailbox_rpu0 1>; + mboxes = <&ipi_mailbox_rpu1 0>, <&ipi_mailbox_rpu1 1>; mbox-names = "tx", "rx"; }; }; -- cgit v1.2.3-54-g00ecf From 07624aa6021138b9d71e2fa310c23abbf08fa235 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Wed, 7 Feb 2024 14:35:22 -0600 Subject: linux-xlnx: Move 2024.1 to release branch and commit Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/layer.conf | 2 +- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/meta-xilinx-core/conf/layer.conf b/meta-xilinx-core/conf/layer.conf index 4c636a25..80a52452 100644 --- a/meta-xilinx-core/conf/layer.conf +++ b/meta-xilinx-core/conf/layer.conf @@ -72,7 +72,7 @@ PREFERRED_VERSION_u-boot-tools-xlnx ?= "${@d.getVarFlag('XILINX_UBOOT_VERSION', XILINX_LINUX_VERSION[v2023.1] = "6.1.5-xilinx-v2023.1%" XILINX_LINUX_VERSION[v2023.2] = "6.1.60-xilinx-v2023.2%" -XILINX_LINUX_VERSION[v2024.1] = "6.6.0-xilinx-v2024.1%" +XILINX_LINUX_VERSION[v2024.1] = "6.6.10-xilinx-v2024.1%" PREFERRED_VERSION_linux-xlnx ?= "${@d.getVarFlag('XILINX_LINUX_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" # Add support to eSDK for gen-machine-conf if it exists diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index e44a03ac..c7deaa28 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ -LINUX_VERSION = "6.6.0" +LINUX_VERSION = "6.6.10" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.6;destsuffix=yocto-kmeta" -KBRANCH="master" -SRCREV = "6379f64fc25832d93ad171056c554ec34bfc4e25" +KBRANCH="xlnx_rebase_v6.6_LTS" +SRCREV = "102d9208feb0d1f07915f782c3cbc687390bb5a8" SRCREV_meta = "5d0809d0d939c7738cb6e5391126c73fd0e4e865" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From 43b144569cdc9c722a9e38825760fc1a97123b9f Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Thu, 8 Feb 2024 11:21:06 -0700 Subject: qemu-xilinx-multiarch-helper-native: Refactor the multiarch wrapper Add specific --help to better userstand how to call the wrapper. Add additional diagnostic messages in case of an APU failure. Change the way the variables are processed, this will make it easier to add additional switches in the future. Signed-off-by: Mark Hatle --- .../qemu/files/qemu-system-aarch64-multiarch | 113 ++++++++++++--------- 1 file changed, 66 insertions(+), 47 deletions(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/files/qemu-system-aarch64-multiarch b/meta-xilinx-core/recipes-devtools/qemu/files/qemu-system-aarch64-multiarch index 370e694b..1dcac990 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/files/qemu-system-aarch64-multiarch +++ b/meta-xilinx-core/recipes-devtools/qemu/files/qemu-system-aarch64-multiarch @@ -13,58 +13,77 @@ mach_path = tempfile.mkdtemp() # Separate PMU and APU arguments APU_args = sys.argv[1:] -mbtype='' +PMU_args = [] +PLM_args = [] if '-pmu-args' in APU_args: - MB_args = APU_args[APU_args.index('-pmu-args')+1] - APU_args.remove('-pmu-args') - APU_args.remove(MB_args) - MB_args = MB_args.split() - PMU_rom = MB_args[MB_args.index('-kernel')+1] - mbtype='PMU' -elif '-plm-args' in APU_args: - MB_args = APU_args[APU_args.index('-plm-args')+1] - APU_args.remove('-plm-args') - APU_args.remove(MB_args) - MB_args = MB_args.split() - mbtype='PLM' -elif '--help' in APU_args: - mbtype='help' -else: - error_msg = '\nMultiarch not setup properly.' - sys.exit(error_msg) - -error_msg = None -if (mbtype == 'PMU' and os.path.exists(PMU_rom)) or mbtype == 'PLM': - - # We need to switch tcp serial arguments (if they exist, e.g. qemurunner) to get the output correctly - tcp_serial_ports = [i for i, s in enumerate(APU_args) if 'tcp:127.0.0.1:' in s] - - #NEED TO FIX for next yocto release (dont need to switch ports anymore, they will be provided correctly upstream - # We can only switch these if there are exactly two, otherwise we can't assume what is being executed so we leave it as is - if len(tcp_serial_ports) == 2: - APU_args[tcp_serial_ports[0]],APU_args[tcp_serial_ports[1]] = APU_args[tcp_serial_ports[1]],APU_args[tcp_serial_ports[0]] - - mb_cmd = binpath + '/qemu-system-microblazeel ' + ' '.join(MB_args) + ' -machine-path ' + mach_path - apu_cmd = binpath + '/qemu-system-aarch64 ' + ' '.join(APU_args) + ' -machine-path ' + mach_path - - # Debug prints - print('\n%s instance cmd: %s\n' % (mbtype, mb_cmd)) - print('APU instance cmd: %s\n' % apu_cmd) - - - # Invoke QEMU pmu instance - process_pmu = subprocess.Popen(mb_cmd, shell=True, stderr=subprocess.PIPE) - - # Invoke QEMU APU instance - process_apu = subprocess.Popen(apu_cmd, shell=True, stderr=subprocess.PIPE) - if process_apu.wait(): - error_msg = '\nQEMU APU instance failed:\n%s' % process_apu.stderr.read().decode() + pmu_args_idx = APU_args.index('-pmu-args') + PMU_args = APU_args[pmu_args_idx+1].split() + del APU_args[pmu_args_idx:pmu_args_idx+2] + +if '-plm-args' in APU_args: + plm_args_idx = APU_args.index('-plm-args') + PLM_args = APU_args[plm_args_idx+1].split() + del APU_args[plm_args_idx:plm_args_idx+2] + +if PMU_args and PLM_args: + sys.exit("\nError: -pmu-args can not be used with -plm-args\n") + +if ('--help' in APU_args) or (not PMU_args and not PLM_args): + print("AMD FPGA QEMU multiarch wrapper\n") + print("Version 2024.1") + print("") + print("Usage:") + print(" %s [-pmu-args ]" % (sys.argv[0])) + print(" %s [-plm-args ]" % (sys.argv[0])) + print("") + sys.exit(1) + +if PMU_args: + PMU_rom = PMU_args[PMU_args.index('-kernel')+1] -else: - if mbtype == 'PMU': + if not os.path.exists(PMU_rom): error_msg = '\nError: Missing PMU ROM: %s' % PMU_rom error_msg += '\nSee "meta-xilinx/README.qemu.md" for more information on accquiring the PMU ROM.\n' + sys.exit(error_msg) + +# We need to switch tcp serial arguments (if they exist, e.g. qemurunner) to get the output correctly +tcp_serial_ports = [i for i, s in enumerate(APU_args) if 'tcp:127.0.0.1:' in s] + +#NEED TO FIX for next yocto release (dont need to switch ports anymore, they will be provided correctly upstream +# We can only switch these if there are exactly two, otherwise we can't assume what is being executed so we leave it as is +if len(tcp_serial_ports) == 2: + APU_args[tcp_serial_ports[0]],APU_args[tcp_serial_ports[1]] = APU_args[tcp_serial_ports[1]],APU_args[tcp_serial_ports[0]] + +mb_cmd = "" +if PMU_args: + mb_cmd = binpath + '/qemu-system-microblazeel ' + ' '.join(PMU_args) + ' -machine-path ' + mach_path + + print("PMU instance cmd: %s\n" % mb_cmd) + +if PLM_args: + mb_cmd = binpath + '/qemu-system-microblazeel ' + ' '.join(PLM_args) + ' -machine-path ' + mach_path + + print("PLM instance cmd: %s\n" % mb_cmd) + +apu_cmd = binpath + '/qemu-system-aarch64 ' + ' '.join(APU_args) + ' -machine-path ' + mach_path + +print("APU instance cmd: %s\n" % apu_cmd) + + +if mb_cmd: + process_mb = subprocess.Popen(mb_cmd, shell=True, stderr=subprocess.PIPE) + +if apu_cmd: + process_apu = subprocess.Popen(apu_cmd, shell=True, stderr=subprocess.PIPE) + +error_msg = "" +if apu_cmd and process_apu.wait(): + # We only check for failures on the MB instance if APU fails + error_msg += '\nQEMU APU instance failed:\n%s' % process_apu.stderr.read().decode() + + if mb_cmd and process_mb.wait(): + error_msg += '\nQEMU MB instance failed:\n%s' % process_mb.stderr.read().decode() shutil.rmtree(mach_path) sys.exit(error_msg) -- cgit v1.2.3-54-g00ecf From 9c546fff6df66a5fe6d682ddefe19e8944aa543d Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Thu, 8 Feb 2024 12:52:59 -0700 Subject: classes: Move classes to match bbclass scope functionality Move classes to classes-recipe as appropriate to match bbclass scope functionality. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- .../classes-recipe/esw.bbclass | 155 +++++++++++++++++++++ .../classes-recipe/esw_examples.bbclass | 36 +++++ .../classes/esw.bbclass | 155 --------------------- .../classes/esw_examples.bbclass | 36 ----- 4 files changed, 191 insertions(+), 191 deletions(-) create mode 100644 meta-xilinx-standalone-experimental/classes-recipe/esw.bbclass create mode 100644 meta-xilinx-standalone-experimental/classes-recipe/esw_examples.bbclass delete mode 100644 meta-xilinx-standalone-experimental/classes/esw.bbclass delete mode 100644 meta-xilinx-standalone-experimental/classes/esw_examples.bbclass diff --git a/meta-xilinx-standalone-experimental/classes-recipe/esw.bbclass b/meta-xilinx-standalone-experimental/classes-recipe/esw.bbclass new file mode 100644 index 00000000..f13df66b --- /dev/null +++ b/meta-xilinx-standalone-experimental/classes-recipe/esw.bbclass @@ -0,0 +1,155 @@ +PV = "${ESW_VER}" + +inherit python3native xlnx-embeddedsw pkgconfig cmake + +SRCREV_FORMAT = "src_decouple" + +S = "${WORKDIR}/git" +B = "${WORKDIR}/build" +OECMAKE_SOURCEPATH = "${S}/${ESW_COMPONENT_SRC}" +LICFILENAME = "license.txt" + +SPECFILE_PATH:arm = "${S}/scripts/specs/arm/Xilinx.spec" +SPECFILE_PATH:aarch64 = "${S}/scripts/specs/arm/Xilinx.spec" +SPECFILE_PATH:microblaze = "${S}/scripts/specs/microblaze/Xilinx.spec" + +ESW_MACHINE ?= "${MACHINE}" + +ESW_CFLAGS += "-specs=${SPECFILE_PATH}" + +inherit ccmake + +COMPATIBLE_HOST = ".*-elf" +COMPATIBLE_HOST:arm = "[^-]*-[^-]*-eabi" + +CONFIG_DTFILE ??= "" +DTS_FILE = "${DEPLOY_DIR_IMAGE}/devicetree/${@os.path.basename(d.getVar('CONFIG_DTFILE').replace('.dts','.dtb'))}" + +DEPENDS += "python3-pyyaml-native lopper-native device-tree python3-dtc-native" + +# We need the deployed output +do_configure[depends] += "device-tree:do_deploy" +do_compile[depends] += "device-tree:do_deploy" +do_install[depends] += "device-tree:do_deploy" + +def get_xlnx_cmake_machine(fam, variant, d): + cmake_machine = fam + if (fam == 'zynqmp'): + cmake_machine = 'ZynqMP' + elif (fam == 'versal'): + cmake_machine = 'Versal' + if (variant == 'net'): + cmake_machine = 'VersalNet' + elif (fam == 'zynq'): + cmake_machine = 'Zynq' + return cmake_machine + +def get_xlnx_cmake_processor(tune, machine, variant, d): + cmake_processor = tune + if tune.startswith('microblaze'): + if (machine == 'psu_pmu_0'): + cmake_processor = 'pmu_microblaze' + elif (machine in [ 'psv_pmc_0', 'psx_pmc_0' ]): + cmake_processor = 'plm_microblaze' + else: + cmake_processor = 'microblaze' + elif (tune in [ 'cortexr5', 'cortexr5hf' ]): + cmake_processor = 'cortexr5' + elif (tune in [ 'cortexr52', 'cortexr52hf' ]): + cmake_processor = 'cortexr52' + elif tune.startswith('cortexa9'): + cmake_processor = 'cortexa9' + elif (tune in [ 'cortexa53', 'cortexa72-cortexa53' ]): + cmake_processor = 'cortexa53' + elif tune == 'cortexa72': + cmake_processor = 'cortexa72' + if (variant == 'net'): + cmake_processor = 'cortexa78' + return cmake_processor + +XLNX_CMAKE_MACHINE = "${@get_xlnx_cmake_machine(d.getVar('SOC_FAMILY'), d.getVar('SOC_VARIANT'), d)}" +XLNX_CMAKE_PROCESSOR = "${@get_xlnx_cmake_processor(d.getVar('DEFAULTTUNE'), d.getVar('ESW_MACHINE'), d.getVar('SOC_VARIANT'), d)}" +XLNX_CMAKE_SYSTEM_NAME ?= "Generic" +XLNX_CMAKE_BSP_VARS ?= "" + +cmake_do_generate_toolchain_file:append() { + cat >> ${WORKDIR}/toolchain.cmake <> ${WORKDIR}/toolchain.cmake < Date: Thu, 8 Feb 2024 12:53:00 -0700 Subject: esw_apps_common.bbclass: Create new class for apps common code Create new bbclass for apps common code. This bbclass is inherited by esw application recipes. This class provides common code for elf name, bitbake install and deploy task functionality for multiconfig target images. Also add target processor suffix so that it doesn't conflict with app name under /lib/firmware direcory when you build same app (ex: hello-world) targeting different processor. Example: hello-world-xlnx-zynqmp-zcu102-rev1-0-cortexr5-0-zynqmp-baremetal.elf hello-world-xlnx-zynqmp-zcu102-rev1-0-cortexr5-1-zynqmp-baremetal.elf hello-world-xlnx-zynqmp-zcu102-rev1-0-cortexa53-0-zynqmp-baremetal.elf hello-world-xlnx-zynqmp-zcu102-rev1-0-cortexa53-1-zynqmp-baremetal.elf hello-world-xlnx-zynqmp-zcu102-rev1-0-cortexa53-2-zynqmp-baremetal.elf hello-world-xlnx-zynqmp-zcu102-rev1-0-cortexa53-3-zynqmp-baremetal.elf Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- .../classes-recipe/esw_apps_common.bbclass | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 meta-xilinx-standalone-experimental/classes-recipe/esw_apps_common.bbclass diff --git a/meta-xilinx-standalone-experimental/classes-recipe/esw_apps_common.bbclass b/meta-xilinx-standalone-experimental/classes-recipe/esw_apps_common.bbclass new file mode 100644 index 00000000..85b753a5 --- /dev/null +++ b/meta-xilinx-standalone-experimental/classes-recipe/esw_apps_common.bbclass @@ -0,0 +1,31 @@ +# +# Copyright (C) 2024, Advanced Micro Devices, Inc. All rights reserved. +# +# SPDX-License-Identifier: MIT +# +# This bbclass is inherited by esw application recipes. This class provides +# common code for elf name, bitbake install and deploy task functionality for +# multiconfig target images. + +inherit deploy image-artifact-names + +APP_IMAGE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${BB_CURRENT_MC}${IMAGE_VERSION_SUFFIX}" + +ESW_EXECUTABLE_NAME ?= "" + +do_install() { + install -d ${D}/${base_libdir}/firmware + # Note that we have to make the ELF executable for it to be stripped + install -m 0755 ${B}/${ESW_EXECUTABLE_NAME}* ${D}/${base_libdir}/firmware +} + +do_deploy() { + # We need to deploy the stripped elf, hence why not doing it from ${D} + install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/${ESW_EXECUTABLE_NAME}.elf ${DEPLOYDIR}/${APP_IMAGE_NAME}.elf + ln -sf ${APP_IMAGE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}-${BB_CURRENT_MC}.elf + ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/${ESW_EXECUTABLE_NAME}.elf ${WORKDIR}/package/${base_libdir}/firmware/${ESW_EXECUTABLE_NAME}.bin + install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/${ESW_EXECUTABLE_NAME}.bin ${DEPLOYDIR}/${APP_IMAGE_NAME}.bin + ln -sf ${APP_IMAGE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}-${BB_CURRENT_MC}.bin +} + +addtask deploy before do_build after do_package -- cgit v1.2.3-54-g00ecf From a200fe241f2192233828642e2fedf9dd8a7e4ac1 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Thu, 8 Feb 2024 12:53:01 -0700 Subject: recipes-applications: Inherit esw_apps_common bblcass Remove common code in all esw applications recipes and inherit esw_apps_common bblcass which provides bitbake install and deploy tasks functionality. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- .../ddr-self-refresh/ddr-self-refresh_2024.1.bb | 26 ++-------------------- .../freertos-hello-world_2024.1.bb | 26 +++------------------- .../freertos-lwip-echo-server_2024.1.bb | 26 +++------------------- .../freertos-lwip-tcp-perf-client_2024.1.bb | 26 +++------------------- .../freertos-lwip-tcp-perf-server_2024.1.bb | 26 +++------------------- .../freertos-lwip-udp-perf-client_2024.1.bb | 26 +++------------------- .../freertos-lwip-udp-perf-server_2024.1.bb | 26 +++------------------- .../hello-world/hello-world_2024.1.bb | 26 ++-------------------- .../lwip-echo-server/lwip-echo-server_2024.1.bb | 26 +++------------------- .../lwip-tcp-perf-client_2024.1.bb | 26 +++------------------- .../lwip-tcp-perf-server_2024.1.bb | 26 +++------------------- .../lwip-udp-perf-client_2024.1.bb | 26 +++------------------- .../lwip-udp-perf-server_2024.1.bb | 26 +++------------------- .../memory-tests/memory-tests_2024.1.bb | 26 ++-------------------- .../peripheral-tests/peripheral-tests_2024.1.bb | 23 ++++++------------- .../srec-bootloader/srec-bootloader_2024.1.bb | 26 ++-------------------- .../srec-spi-bootloader_2024.1.bb | 26 ++-------------------- .../zynq-dram-test/zynq-dram-test_2024.1.bb | 26 ++-------------------- .../zynqmp-dram-test/zynqmp-dram-test_2024.1.bb | 26 ++-------------------- 19 files changed, 54 insertions(+), 437 deletions(-) diff --git a/meta-xilinx-standalone-experimental/recipes-applications/ddr-self-refresh/ddr-self-refresh_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/ddr-self-refresh/ddr-self-refresh_2024.1.bb index 001cefa9..4287bb0a 100644 --- a/meta-xilinx-standalone-experimental/recipes-applications/ddr-self-refresh/ddr-self-refresh_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-applications/ddr-self-refresh/ddr-self-refresh_2024.1.bb @@ -1,10 +1,10 @@ -inherit esw deploy +inherit esw python3native esw_apps_common ESW_COMPONENT_SRC = "/lib/sw_apps/ddr_self_refresh/src/" DEPENDS += "libxil xiltimer xilpm" -inherit python3native +ESW_EXECUTABLE_NAME = "ddr_self_refresh" do_configure:prepend() { ( @@ -26,26 +26,4 @@ do_generate_app_data() { addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot do_prepare_recipe_sysroot[rdeptask] = "do_unpack" -do_install() { - install -d ${D}/${base_libdir}/firmware - # Note that we have to make the ELF executable for it to be stripped - install -m 0755 ${B}/ddr_self_refresh* ${D}/${base_libdir}/firmware -} - -inherit image-artifact-names - -DDR_SELF_REFRESH_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - -do_deploy() { - - # We need to deploy the stripped elf, hence why not doing it from ${D} - install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/ddr_self_refresh.elf ${DEPLOYDIR}/${DDR_SELF_REFRESH_BASE_NAME}.elf - ln -sf ${DDR_SELF_REFRESH_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/ddr_self_refresh.elf ${WORKDIR}/package/${base_libdir}/firmware/ddr_self_refresh.bin - install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/ddr_self_refresh.bin ${DEPLOYDIR}/${DDR_SELF_REFRESH_BASE_NAME}.bin - ln -sf ${DDR_SELF_REFRESH_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} - -addtask deploy before do_build after do_package - FILES:${PN} = "${base_libdir}/firmware/ddr_self_refresh*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/freertos-hello-world/freertos-hello-world_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/freertos-hello-world/freertos-hello-world_2024.1.bb index 8106684b..97d2ba0a 100644 --- a/meta-xilinx-standalone-experimental/recipes-applications/freertos-hello-world/freertos-hello-world_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-applications/freertos-hello-world/freertos-hello-world_2024.1.bb @@ -1,9 +1,11 @@ -inherit esw deploy python3native +inherit esw python3native esw_apps_common ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_hello_world/src/" DEPENDS += "libxil xilstandalone freertos10-xilinx xiltimer" +ESW_EXECUTABLE_NAME = "freertos_hello_world" + do_configure:prepend() { ( cd ${S} @@ -14,26 +16,4 @@ do_configure:prepend() { ) } -do_install() { - install -d ${D}/${base_libdir}/firmware - # Note that we have to make the ELF executable for it to be stripped - install -m 0755 ${B}/freertos_hello_world* ${D}/${base_libdir}/firmware -} - -inherit image-artifact-names - -FREERTOS_HELLO_WORLD_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - -do_deploy() { - - # We need to deploy the stripped elf, hence why not doing it from ${D} - install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_hello_world.elf ${DEPLOYDIR}/${FREERTOS_HELLO_WORLD_BASE_NAME}.elf - ln -sf ${FREERTOS_HELLO_WORLD_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/freertos_hello_world.elf ${WORKDIR}/package/${base_libdir}/firmware/freertos_hello_world.bin - install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_hello_world.bin ${DEPLOYDIR}/${FREERTOS_HELLO_WORLD_BASE_NAME}.bin - ln -sf ${FREERTOS_HELLO_WORLD_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} - -addtask deploy before do_build after do_package - FILES:${PN} = "${base_libdir}/firmware/freertos_hello_world*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-echo-server/freertos-lwip-echo-server_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-echo-server/freertos-lwip-echo-server_2024.1.bb index f7eae1dc..58d5b9c7 100644 --- a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-echo-server/freertos-lwip-echo-server_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-echo-server/freertos-lwip-echo-server_2024.1.bb @@ -1,9 +1,11 @@ -inherit esw deploy python3native +inherit esw python3native esw_apps_common ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_lwip_echo_server/src/" DEPENDS += "libxil lwip xiltimer freertos10-xilinx" +ESW_EXECUTABLE_NAME = "freertos_lwip_echo_server" + do_configure:prepend() { ( cd ${S} @@ -23,26 +25,4 @@ do_generate_app_data() { addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot do_prepare_recipe_sysroot[rdeptask] = "do_unpack" -do_install() { - install -d ${D}/${base_libdir}/firmware - # Note that we have to make the ELF executable for it to be stripped - install -m 0755 ${B}/freertos_lwip_echo* ${D}/${base_libdir}/firmware -} - -inherit image-artifact-names - -FREERTOS_LWIP_ECHO_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - -do_deploy() { - - # We need to deploy the stripped elf, hence why not doing it from ${D} - install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_echo_server.elf ${DEPLOYDIR}/${FREERTOS_LWIP_ECHO_BASE_NAME}.elf - ln -sf ${FREERTOS_LWIP_ECHO_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_echo_server.elf ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_echo_server.bin - install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_echo_server.bin ${DEPLOYDIR}/${FREERTOS_LWIP_ECHO_BASE_NAME}.bin - ln -sf ${FREERTOS_LWIP_ECHO_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} - -addtask deploy before do_build after do_package - FILES:${PN} = "${base_libdir}/firmware/freertos_lwip_echo*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-client/freertos-lwip-tcp-perf-client_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-client/freertos-lwip-tcp-perf-client_2024.1.bb index 51b89b8e..5c00254c 100644 --- a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-client/freertos-lwip-tcp-perf-client_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-client/freertos-lwip-tcp-perf-client_2024.1.bb @@ -1,9 +1,11 @@ -inherit esw deploy python3native +inherit esw python3native esw_apps_common ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_lwip_tcp_perf_client/src/" DEPENDS += "libxil lwip xiltimer freertos10-xilinx" +ESW_EXECUTABLE_NAME = "freertos_lwip_tcp_perf_client" + do_configure:prepend() { ( cd ${S} @@ -23,26 +25,4 @@ do_generate_app_data() { addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot do_prepare_recipe_sysroot[rdeptask] = "do_unpack" -do_install() { - install -d ${D}/${base_libdir}/firmware - # Note that we have to make the ELF executable for it to be stripped - install -m 0755 ${B}/freertos_lwip_tcp_perf_client* ${D}/${base_libdir}/firmware -} - -inherit image-artifact-names - -FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - -do_deploy() { - - # We need to deploy the stripped elf, hence why not doing it from ${D} - install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_client.elf ${DEPLOYDIR}/${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.elf - ln -sf ${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_client.elf ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_client.bin - install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_client.bin ${DEPLOYDIR}/${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.bin - ln -sf ${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} - -addtask deploy before do_build after do_package - FILES:${PN} = "${base_libdir}/firmware/freertos_lwip_tcp_perf_client*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-server/freertos-lwip-tcp-perf-server_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-server/freertos-lwip-tcp-perf-server_2024.1.bb index 606fd01e..910a6fa2 100644 --- a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-server/freertos-lwip-tcp-perf-server_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-tcp-perf-server/freertos-lwip-tcp-perf-server_2024.1.bb @@ -1,9 +1,11 @@ -inherit esw deploy python3native +inherit esw python3native esw_apps_common ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_lwip_tcp_perf_server/src/" DEPENDS += "libxil lwip xiltimer freertos10-xilinx" +ESW_EXECUTABLE_NAME = "freertos_lwip_tcp_perf_server" + do_configure:prepend() { ( cd ${S} @@ -23,26 +25,4 @@ do_generate_app_data() { addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot do_prepare_recipe_sysroot[rdeptask] = "do_unpack" -do_install() { - install -d ${D}/${base_libdir}/firmware - # Note that we have to make the ELF executable for it to be stripped - install -m 0755 ${B}/freertos_lwip_tcp_perf_server* ${D}/${base_libdir}/firmware -} - -inherit image-artifact-names - -FREERTOS_LWIP_TCP_PERF_SERVER_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - -do_deploy() { - - # We need to deploy the stripped elf, hence why not doing it from ${D} - install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_server.elf ${DEPLOYDIR}/${FREERTOS_LWIP_TCP_PERF_SERVER_BASE_NAME}.elf - ln -sf ${FREERTOS_LWIP_TCP_PERF_SERVER_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_server.elf ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_server.bin - install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_tcp_perf_server.bin ${DEPLOYDIR}/${FREERTOS_LWIP_TCP_PERF_SERVER_BASE_NAME}.bin - ln -sf ${FREERTOS_LWIP_TCP_PERF_SERVER_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} - -addtask deploy before do_build after do_package - FILES:${PN} = "${base_libdir}/firmware/freertos_lwip_tcp_perf_server*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-client/freertos-lwip-udp-perf-client_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-client/freertos-lwip-udp-perf-client_2024.1.bb index 7f9d86e2..c20d640d 100644 --- a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-client/freertos-lwip-udp-perf-client_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-client/freertos-lwip-udp-perf-client_2024.1.bb @@ -1,9 +1,11 @@ -inherit esw deploy python3native +inherit esw python3native esw_apps_common ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_lwip_udp_perf_client/src/" DEPENDS += "libxil lwip xiltimer freertos10-xilinx" +ESW_EXECUTABLE_NAME = "freertos_lwip_udp_perf_client" + do_configure:prepend() { ( cd ${S} @@ -23,26 +25,4 @@ do_generate_app_data() { addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot do_prepare_recipe_sysroot[rdeptask] = "do_unpack" -do_install() { - install -d ${D}/${base_libdir}/firmware - # Note that we have to make the ELF executable for it to be stripped - install -m 0755 ${B}/freertos_lwip_udp_perf_client* ${D}/${base_libdir}/firmware -} - -inherit image-artifact-names - -FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - -do_deploy() { - - # We need to deploy the stripped elf, hence why not doing it from ${D} - install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_client.elf ${DEPLOYDIR}/${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.elf - ln -sf ${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_client.elf ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_client.bin - install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_client.bin ${DEPLOYDIR}/${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.bin - ln -sf ${FREERTOS_LWIP_TCP_PERF_CLIENT_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} - -addtask deploy before do_build after do_package - FILES:${PN} = "${base_libdir}/firmware/freertos_lwip_udp_perf_client*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-server/freertos-lwip-udp-perf-server_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-server/freertos-lwip-udp-perf-server_2024.1.bb index 4fc02f36..194b0565 100644 --- a/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-server/freertos-lwip-udp-perf-server_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-applications/freertos-lwip-udp-perf-server/freertos-lwip-udp-perf-server_2024.1.bb @@ -1,9 +1,11 @@ -inherit esw deploy python3native +inherit esw python3native esw_apps_common ESW_COMPONENT_SRC = "/lib/sw_apps/freertos_lwip_udp_perf_server/src/" DEPENDS += "libxil lwip xiltimer freertos10-xilinx" +ESW_EXECUTABLE_NAME = "freertos_lwip_udp_perf_server" + do_configure:prepend() { ( cd ${S} @@ -23,26 +25,4 @@ do_generate_app_data() { addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot do_prepare_recipe_sysroot[rdeptask] = "do_unpack" -do_install() { - install -d ${D}/${base_libdir}/firmware - # Note that we have to make the ELF executable for it to be stripped - install -m 0755 ${B}/freertos_lwip_udp_perf_server* ${D}/${base_libdir}/firmware -} - -inherit image-artifact-names - -FREERTOS_LWIP_UDP_PERF_SERVER_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - -do_deploy() { - - # We need to deploy the stripped elf, hence why not doing it from ${D} - install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_server.elf ${DEPLOYDIR}/${FREERTOS_LWIP_UDP_PERF_SERVER_BASE_NAME}.elf - ln -sf ${FREERTOS_LWIP_UDP_PERF_SERVER_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_server.elf ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_server.bin - install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/freertos_lwip_udp_perf_server.bin ${DEPLOYDIR}/${FREERTOS_LWIP_UDP_PERF_SERVER_BASE_NAME}.bin - ln -sf ${FREERTOS_LWIP_UDP_PERF_SERVER_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} - -addtask deploy before do_build after do_package - FILES:${PN} = "${base_libdir}/firmware/freertos_lwip_udp_perf_server*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/hello-world/hello-world_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/hello-world/hello-world_2024.1.bb index 1de5ef8c..ee0afec5 100644 --- a/meta-xilinx-standalone-experimental/recipes-applications/hello-world/hello-world_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-applications/hello-world/hello-world_2024.1.bb @@ -1,10 +1,10 @@ -inherit esw deploy +inherit esw deploy python3native esw_apps_common ESW_COMPONENT_SRC = "/lib/sw_apps/hello_world/src/" DEPENDS += "libxil xiltimer" -inherit python3native +ESW_EXECUTABLE_NAME = "hello_world" do_configure:prepend() { ( @@ -16,29 +16,7 @@ do_configure:prepend() { ) } -do_install() { - install -d ${D}/${base_libdir}/firmware - # Note that we have to make the ELF executable for it to be stripped - install -m 0755 ${B}/hello_world* ${D}/${base_libdir}/firmware -} - -inherit image-artifact-names - -HELLO_WORLD_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - ESW_CUSTOM_LINKER_FILE ?= "None" EXTRA_OECMAKE = "-DCUSTOM_LINKER_FILE=${@d.getVar('ESW_CUSTOM_LINKER_FILE')}" -do_deploy() { - - # We need to deploy the stripped elf, hence why not doing it from ${D} - install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/hello_world.elf ${DEPLOYDIR}/${HELLO_WORLD_BASE_NAME}.elf - ln -sf ${HELLO_WORLD_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/hello_world.elf ${WORKDIR}/package/${base_libdir}/firmware/hello_world.bin - install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/hello_world.bin ${DEPLOYDIR}/${HELLO_WORLD_BASE_NAME}.bin - ln -sf ${HELLO_WORLD_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} - -addtask deploy before do_build after do_package - FILES:${PN} = "${base_libdir}/firmware/hello_world*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/lwip-echo-server/lwip-echo-server_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/lwip-echo-server/lwip-echo-server_2024.1.bb index c59d816e..f3397f7f 100644 --- a/meta-xilinx-standalone-experimental/recipes-applications/lwip-echo-server/lwip-echo-server_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-applications/lwip-echo-server/lwip-echo-server_2024.1.bb @@ -1,9 +1,11 @@ -inherit esw deploy python3native +inherit esw python3native esw_apps_common ESW_COMPONENT_SRC = "/lib/sw_apps/lwip_echo_server/src/" DEPENDS += "libxil lwip xiltimer" +ESW_EXECUTABLE_NAME = "lwip_echo_server" + do_configure:prepend() { ( cd ${S} @@ -23,26 +25,4 @@ do_generate_app_data() { addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot do_prepare_recipe_sysroot[rdeptask] = "do_unpack" -do_install() { - install -d ${D}/${base_libdir}/firmware - # Note that we have to make the ELF executable for it to be stripped - install -m 0755 ${B}/lwip_echo* ${D}/${base_libdir}/firmware -} - -inherit image-artifact-names - -LWIP_ECHO_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - -do_deploy() { - - # We need to deploy the stripped elf, hence why not doing it from ${D} - install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_echo_server.elf ${DEPLOYDIR}/${LWIP_ECHO_BASE_NAME}.elf - ln -sf ${LWIP_ECHO_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/lwip_echo_server.elf ${WORKDIR}/package/${base_libdir}/firmware/lwip_echo.bin - install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_echo.bin ${DEPLOYDIR}/${LWIP_ECHO_BASE_NAME}.bin - ln -sf ${LWIP_ECHO_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} - -addtask deploy before do_build after do_package - FILES:${PN} = "${base_libdir}/firmware/lwip_echo*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-client/lwip-tcp-perf-client_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-client/lwip-tcp-perf-client_2024.1.bb index b9834e34..bc90046e 100644 --- a/meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-client/lwip-tcp-perf-client_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-client/lwip-tcp-perf-client_2024.1.bb @@ -1,9 +1,11 @@ -inherit esw deploy python3native +inherit esw python3native esw_apps_common ESW_COMPONENT_SRC = "/lib/sw_apps/lwip_tcp_perf_client/src/" DEPENDS += "libxil lwip xiltimer" +ESW_EXECUTABLE_NAME = "lwip_tcp_perf_client" + do_configure:prepend() { ( cd ${S} @@ -23,26 +25,4 @@ do_generate_app_data() { addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot do_prepare_recipe_sysroot[rdeptask] = "do_unpack" -do_install() { - install -d ${D}/${base_libdir}/firmware - # Note that we have to make the ELF executable for it to be stripped - install -m 0755 ${B}/lwip_tcp_perf_client* ${D}/${base_libdir}/firmware -} - -inherit image-artifact-names - -LWIP_TCP_PERF_CLIENT_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - -do_deploy() { - - # We need to deploy the stripped elf, hence why not doing it from ${D} - install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_client.elf ${DEPLOYDIR}/${LWIP_TCP_PERF_CLIENT_BASE_NAME}.elf - ln -sf ${LWIP_TCP_PERF_CLIENT_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_client.elf ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_client.bin - install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_client.bin ${DEPLOYDIR}/${LWIP_TCP_PERF_CLIENT_BASE_NAME}.bin - ln -sf ${LWIP_TCP_PERF_CLIENT_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} - -addtask deploy before do_build after do_package - FILES:${PN} = "${base_libdir}/firmware/lwip_tcp_perf_client*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-server/lwip-tcp-perf-server_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-server/lwip-tcp-perf-server_2024.1.bb index 0acc4b8f..5c9cd5fa 100644 --- a/meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-server/lwip-tcp-perf-server_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-applications/lwip-tcp-perf-server/lwip-tcp-perf-server_2024.1.bb @@ -1,9 +1,11 @@ -inherit esw deploy python3native +inherit esw python3native esw_apps_common ESW_COMPONENT_SRC = "/lib/sw_apps/lwip_tcp_perf_server/src/" DEPENDS += "libxil lwip xiltimer" +ESW_EXECUTABLE_NAME = "lwip_tcp_perf_server" + do_configure:prepend() { ( cd ${S} @@ -23,26 +25,4 @@ do_generate_app_data() { addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot do_prepare_recipe_sysroot[rdeptask] = "do_unpack" -do_install() { - install -d ${D}/${base_libdir}/firmware - # Note that we have to make the ELF executable for it to be stripped - install -m 0755 ${B}/lwip_tcp_perf_server* ${D}/${base_libdir}/firmware -} - -inherit image-artifact-names - -LWIP_TCP_PERF_SERVER_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - -do_deploy() { - - # We need to deploy the stripped elf, hence why not doing it from ${D} - install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_server.elf ${DEPLOYDIR}/${LWIP_TCP_PERF_SERVER_BASE_NAME}.elf - ln -sf ${LWIP_TCP_PERF_SERVER_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_server.elf ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_server.bin - install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_tcp_perf_server.bin ${DEPLOYDIR}/${LWIP_TCP_PERF_SERVER_BASE_NAME}.bin - ln -sf ${LWIP_TCP_PERF_SERVER_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} - -addtask deploy before do_build after do_package - FILES:${PN} = "${base_libdir}/firmware/lwip_tcp_perf_server*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-client/lwip-udp-perf-client_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-client/lwip-udp-perf-client_2024.1.bb index 00a9eaa6..2855b08c 100644 --- a/meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-client/lwip-udp-perf-client_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-client/lwip-udp-perf-client_2024.1.bb @@ -1,9 +1,11 @@ -inherit esw deploy python3native +inherit esw python3native esw_apps_common ESW_COMPONENT_SRC = "/lib/sw_apps/lwip_udp_perf_client/src/" DEPENDS += "libxil lwip xiltimer" +ESW_EXECUTABLE_NAME = "lwip_udp_perf_client" + do_configure:prepend() { ( cd ${S} @@ -23,26 +25,4 @@ do_generate_app_data() { addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot do_prepare_recipe_sysroot[rdeptask] = "do_unpack" -do_install() { - install -d ${D}/${base_libdir}/firmware - # Note that we have to make the ELF executable for it to be stripped - install -m 0755 ${B}/lwip_udp_perf_client* ${D}/${base_libdir}/firmware -} - -inherit image-artifact-names - -LWIP_UDP_PERF_CLIENT_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - -do_deploy() { - - # We need to deploy the stripped elf, hence why not doing it from ${D} - install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_client.elf ${DEPLOYDIR}/${LWIP_UDP_PERF_CLIENT_BASE_NAME}.elf - ln -sf ${LWIP_UDP_PERF_CLIENT_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_client.elf ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_client.bin - install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_client.bin ${DEPLOYDIR}/${LWIP_UDP_PERF_CLIENT_BASE_NAME}.bin - ln -sf ${LWIP_UDP_PERF_CLIENT_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} - -addtask deploy before do_build after do_package - FILES:${PN} = "${base_libdir}/firmware/lwip_udp_perf_client*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-server/lwip-udp-perf-server_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-server/lwip-udp-perf-server_2024.1.bb index 5f54caf9..149e7a6c 100644 --- a/meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-server/lwip-udp-perf-server_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-applications/lwip-udp-perf-server/lwip-udp-perf-server_2024.1.bb @@ -1,9 +1,11 @@ -inherit esw deploy python3native +inherit esw python3native esw_apps_common ESW_COMPONENT_SRC = "/lib/sw_apps/lwip_udp_perf_server/src/" DEPENDS += "libxil lwip xiltimer" +ESW_EXECUTABLE_NAME = "lwip_udp_perf_server" + do_configure:prepend() { ( cd ${S} @@ -23,26 +25,4 @@ do_generate_app_data() { addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot do_prepare_recipe_sysroot[rdeptask] = "do_unpack" -do_install() { - install -d ${D}/${base_libdir}/firmware - # Note that we have to make the ELF executable for it to be stripped - install -m 0755 ${B}/lwip_udp_perf_server* ${D}/${base_libdir}/firmware -} - -inherit image-artifact-names - -LWIP_UDP_PERF_SERVER_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - -do_deploy() { - - # We need to deploy the stripped elf, hence why not doing it from ${D} - install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_server.elf ${DEPLOYDIR}/${LWIP_UDP_PERF_SERVER_BASE_NAME}.elf - ln -sf ${LWIP_UDP_PERF_SERVER_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_server.elf ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_server.bin - install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/lwip_udp_perf_server.bin ${DEPLOYDIR}/${LWIP_UDP_PERF_SERVER_BASE_NAME}.bin - ln -sf ${LWIP_UDP_PERF_SERVER_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} - -addtask deploy before do_build after do_package - FILES:${PN} = "${base_libdir}/firmware/lwip_udp_perf_server*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/memory-tests/memory-tests_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/memory-tests/memory-tests_2024.1.bb index 1ece5a8c..8420171b 100644 --- a/meta-xilinx-standalone-experimental/recipes-applications/memory-tests/memory-tests_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-applications/memory-tests/memory-tests_2024.1.bb @@ -1,10 +1,10 @@ -inherit esw deploy +inherit esw python3native esw_apps_common ESW_COMPONENT_SRC = "/lib/sw_apps/memory_tests/src/" DEPENDS += "libxil xiltimer" -inherit python3native +ESW_EXECUTABLE_NAME = "memory_tests" do_configure:prepend() { ( @@ -16,26 +16,4 @@ do_configure:prepend() { ) } -do_install() { - install -d ${D}/${base_libdir}/firmware - # Note that we have to make the ELF executable for it to be stripped - install -m 0755 ${B}/memory_tests* ${D}/${base_libdir}/firmware -} - -inherit image-artifact-names - -MEMORY_TESTS_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - -do_deploy() { - - # We need to deploy the stripped elf, hence why not doing it from ${D} - install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/memory_tests.elf ${DEPLOYDIR}/${MEMORY_TESTS_BASE_NAME}.elf - ln -sf ${MEMORY_TESTS_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/memory_tests.elf ${WORKDIR}/package/${base_libdir}/firmware/memory_tests.bin - install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/memory_tests.bin ${DEPLOYDIR}/${MEMORY_TESTS_BASE_NAME}.bin - ln -sf ${MEMORY_TESTS_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} - -addtask deploy before do_build after do_package - FILES:${PN} = "${base_libdir}/firmware/memory_tests*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/peripheral-tests/peripheral-tests_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/peripheral-tests/peripheral-tests_2024.1.bb index b6b15d5a..d2fb106a 100644 --- a/meta-xilinx-standalone-experimental/recipes-applications/peripheral-tests/peripheral-tests_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-applications/peripheral-tests/peripheral-tests_2024.1.bb @@ -1,10 +1,10 @@ -inherit esw deploy +inherit esw python3native esw_apps_common ESW_COMPONENT_SRC = "/lib/sw_apps/peripheral_tests/src/" DEPENDS += "libxil xiltimer" -inherit python3native +ESW_EXECUTABLE_NAME = "peripheral_tests" do_configure:prepend() { ( @@ -37,16 +37,8 @@ python do_generate_app_data() { addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot do_prepare_recipe_sysroot[rdeptask] = "do_unpack" -PERIPHERAL_TEST_APP_IMAGE_NAME ??= "${BPN}" - -inherit image-artifact-names - -PERIPHERAL_TEST_BASE_NAME ?= "${PERIPHERAL_TEST_APP_IMAGE_NAME}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - -ESW_COMPONENT ??= "peripheral_tests.elf" - do_compile:append() { - ${OBJCOPY} -O binary ${B}/${ESW_COMPONENT} ${B}/peripheral_tests.bin + ${OBJCOPY} -O binary ${B}/${ESW_EXECUTABLE_NAME}.elf ${B}${ESW_EXECUTABLE_NAME}.bin } do_install() { @@ -54,9 +46,8 @@ do_install() { } do_deploy() { - install -Dm 0644 ${B}/${ESW_COMPONENT} ${DEPLOYDIR}/${PERIPHERAL_TEST_BASE_NAME}.elf - ln -sf ${PERIPHERAL_TEST_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - install -m 0644 ${B}/peripheral_tests.bin ${DEPLOYDIR}/${PERIPHERAL_TEST_BASE_NAME}.bin - ln -sf ${PERIPHERAL_TEST_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin + install -Dm 0644 ${B}/${ESW_EXECUTABLE_NAME}.elf ${DEPLOYDIR}/${APP_IMAGE_NAME}.elf + ln -sf ${APP_IMAGE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}-${BB_CURRENT_MC}.elf + install -m 0644 ${B}/${ESW_EXECUTABLE_NAME}.bin ${DEPLOYDIR}/${APP_IMAGE_NAME}.bin + ln -sf ${APP_IMAGE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}-${BB_CURRENT_MC}.bin } -addtask deploy before do_build after do_install diff --git a/meta-xilinx-standalone-experimental/recipes-applications/srec-bootloader/srec-bootloader_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/srec-bootloader/srec-bootloader_2024.1.bb index 7afdb615..03ada8c1 100644 --- a/meta-xilinx-standalone-experimental/recipes-applications/srec-bootloader/srec-bootloader_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-applications/srec-bootloader/srec-bootloader_2024.1.bb @@ -1,10 +1,10 @@ -inherit esw deploy +inherit esw python3native esw_apps_common ESW_COMPONENT_SRC = "/lib/sw_apps/srec_bootloader/src/" DEPENDS += "libxil xiltimer" -inherit python3native +ESW_EXECUTABLE_NAME = "srec_bootloader" do_configure:prepend() { ( @@ -16,29 +16,7 @@ do_configure:prepend() { ) } -do_install() { - install -d ${D}/${base_libdir}/firmware - # Note that we have to make the ELF executable for it to be stripped - install -m 0755 ${B}/srec_bootloader* ${D}/${base_libdir}/firmware -} - -inherit image-artifact-names - -SREC_BOOTLOADER_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - ESW_CUSTOM_LINKER_FILE ?= "None" EXTRA_OECMAKE = "-DCUSTOM_LINKER_FILE=${@d.getVar('ESW_CUSTOM_LINKER_FILE')}" -do_deploy() { - - # We need to deploy the stripped elf, hence why not doing it from ${D} - install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/srec_bootloader.elf ${DEPLOYDIR}/${SREC_BOOTLOADER_BASE_NAME}.elf - ln -sf ${SREC_BOOTLOADER_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/srec_bootloader.elf ${WORKDIR}/package/${base_libdir}/firmware/srec_bootloader.bin - install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/srec_bootloader.bin ${DEPLOYDIR}/${SREC_BOOTLOADER_BASE_NAME}.bin - ln -sf ${SREC_BOOTLOADER_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} - -addtask deploy before do_build after do_package - FILES:${PN} = "${base_libdir}/firmware/srec_bootloader*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/srec-spi-bootloader/srec-spi-bootloader_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/srec-spi-bootloader/srec-spi-bootloader_2024.1.bb index 7c0f2122..e6f29570 100644 --- a/meta-xilinx-standalone-experimental/recipes-applications/srec-spi-bootloader/srec-spi-bootloader_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-applications/srec-spi-bootloader/srec-spi-bootloader_2024.1.bb @@ -1,10 +1,10 @@ -inherit esw deploy +inherit esw python3native esw_apps_common ESW_COMPONENT_SRC = "/lib/sw_apps/srec_spi_bootloader/src/" DEPENDS += "libxil xiltimer" -inherit python3native +ESW_EXECUTABLE_NAME = "srec_spi_bootloader" do_configure:prepend() { ( @@ -16,29 +16,7 @@ do_configure:prepend() { ) } -do_install() { - install -d ${D}/${base_libdir}/firmware - # Note that we have to make the ELF executable for it to be stripped - install -m 0755 ${B}/srec_spi_bootloader* ${D}/${base_libdir}/firmware -} - -inherit image-artifact-names - -SREC_SPI_BOOTLOADER_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - ESW_CUSTOM_LINKER_FILE ?= "None" EXTRA_OECMAKE = "-DCUSTOM_LINKER_FILE=${@d.getVar('ESW_CUSTOM_LINKER_FILE')}" -do_deploy() { - - # We need to deploy the stripped elf, hence why not doing it from ${D} - install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/srec_spi_bootloader.elf ${DEPLOYDIR}/${SREC_SPI_BOOTLOADER_BASE_NAME}.elf - ln -sf ${SREC_SPI_BOOTLOADER_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/srec_spi_bootloader.elf ${WORKDIR}/package/${base_libdir}/firmware/srec_spi_bootloader.bin - install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/srec_spi_bootloader.bin ${DEPLOYDIR}/${SREC_SPI_BOOTLOADER_BASE_NAME}.bin - ln -sf ${SREC_SPI_BOOTLOADER_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} - -addtask deploy before do_build after do_package - FILES:${PN} = "${base_libdir}/firmware/srec_spi_bootloader*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/zynq-dram-test/zynq-dram-test_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/zynq-dram-test/zynq-dram-test_2024.1.bb index b5317117..8e0b0c06 100644 --- a/meta-xilinx-standalone-experimental/recipes-applications/zynq-dram-test/zynq-dram-test_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-applications/zynq-dram-test/zynq-dram-test_2024.1.bb @@ -1,10 +1,10 @@ -inherit esw deploy +inherit esw python3native esw_apps_common ESW_COMPONENT_SRC = "/lib/sw_apps/zynq_dram_test/src/" DEPENDS += "libxil xiltimer" -inherit python3native +ESW_EXECUTABLE_NAME = "zynq_dram_test" do_configure:prepend() { ( @@ -25,26 +25,4 @@ do_generate_app_data() { addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot do_prepare_recipe_sysroot[rdeptask] = "do_unpack" -do_install() { - install -d ${D}/${base_libdir}/firmware - # Note that we have to make the ELF executable for it to be stripped - install -m 0755 ${B}/zynq_dram* ${D}/${base_libdir}/firmware -} - -inherit image-artifact-names - -ZYNQ_DRAM_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - -do_deploy() { - - # We need to deploy the stripped elf, hence why not doing it from ${D} - install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/zynq_dram_test.elf ${DEPLOYDIR}/${ZYNQ_DRAM_BASE_NAME}.elf - ln -sf ${ZYNQ_DRAM_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/zynq_dram_test.elf ${WORKDIR}/package/${base_libdir}/firmware/zynq_dram.bin - install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/zynq_dram.bin ${DEPLOYDIR}/${ZYNQ_DRAM_BASE_NAME}.bin - ln -sf ${ZYNQ_DRAM_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} - -addtask deploy before do_build after do_package - FILES:${PN} = "${base_libdir}/firmware/zynq_dram*" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/zynqmp-dram-test/zynqmp-dram-test_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/zynqmp-dram-test/zynqmp-dram-test_2024.1.bb index b2bcabe4..25215801 100644 --- a/meta-xilinx-standalone-experimental/recipes-applications/zynqmp-dram-test/zynqmp-dram-test_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-applications/zynqmp-dram-test/zynqmp-dram-test_2024.1.bb @@ -1,10 +1,10 @@ -inherit esw deploy +inherit esw python3native esw_apps_common ESW_COMPONENT_SRC = "/lib/sw_apps/zynqmp_dram_test/src/" DEPENDS += "libxil xiltimer" -inherit python3native +ESW_EXECUTABLE_NAME = "zynqmp_dram_test" do_configure:prepend() { ( @@ -25,26 +25,4 @@ do_generate_app_data() { addtask do_generate_app_data before do_configure after do_prepare_recipe_sysroot do_prepare_recipe_sysroot[rdeptask] = "do_unpack" -do_install() { - install -d ${D}/${base_libdir}/firmware - # Note that we have to make the ELF executable for it to be stripped - install -m 0755 ${B}/zynqmp_dram* ${D}/${base_libdir}/firmware -} - -inherit image-artifact-names - -ZYNQMP_DRAM_BASE_NAME ?= "${BPN}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" - -do_deploy() { - - # We need to deploy the stripped elf, hence why not doing it from ${D} - install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/zynqmp_dram_test.elf ${DEPLOYDIR}/${ZYNQMP_DRAM_BASE_NAME}.elf - ln -sf ${ZYNQMP_DRAM_BASE_NAME}.elf ${DEPLOYDIR}/${BPN}-${MACHINE}.elf - ${OBJCOPY} -O binary ${WORKDIR}/package/${base_libdir}/firmware/zynqmp_dram_test.elf ${WORKDIR}/package/${base_libdir}/firmware/zynqmp_dram.bin - install -m 0644 ${WORKDIR}/package/${base_libdir}/firmware/zynqmp_dram.bin ${DEPLOYDIR}/${ZYNQMP_DRAM_BASE_NAME}.bin - ln -sf ${ZYNQMP_DRAM_BASE_NAME}.bin ${DEPLOYDIR}/${BPN}-${MACHINE}.bin -} - -addtask deploy before do_build after do_package - FILES:${PN} = "${base_libdir}/firmware/zynqmp_dram*" -- cgit v1.2.3-54-g00ecf From d76b902106e82f6c68ce525f068c994dd16d0aa2 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Thu, 8 Feb 2024 12:53:02 -0700 Subject: empty-application_2024.1.bb: Add processor suffix to elf files Add target processor suffix so that it doesn't conflict with app name under /lib/firmware direcory when you build emplty-application targeting different processor. Since empty_application in esw source code doesn't have any source(.c) files and it will act as template so inheriting esw_apps_common bbclass in not a right approach in this case. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- .../empty-application/empty-application_2024.1.bb | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/meta-xilinx-standalone-experimental/recipes-applications/empty-application/empty-application_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-applications/empty-application/empty-application_2024.1.bb index d62779ae..2c70796a 100644 --- a/meta-xilinx-standalone-experimental/recipes-applications/empty-application/empty-application_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-applications/empty-application/empty-application_2024.1.bb @@ -1,11 +1,9 @@ -inherit esw deploy +inherit esw deploy python3native ESW_COMPONENT_SRC = "/lib/sw_apps/empty_application/src/" DEPENDS += "libxil xiltimer" -inherit python3native - do_configure:prepend() { ( cd ${S} @@ -24,7 +22,7 @@ EXTRA_OECMAKE = "-DCUSTOM_LINKER_FILE=${@d.getVar('ESW_CUSTOM_LINKER_FILE')}" inherit image-artifact-names -CUSTOM_APP_BASE_NAME ?= "${CUSTOM_APP_IMAGE_NAME}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}${IMAGE_VERSION_SUFFIX}" +CUSTOM_APP_BASE_NAME ?= "${CUSTOM_APP_IMAGE_NAME}-${PKGE}-${PKGV}-${PKGR}-${MACHINE}-${BB_CURRENT_MC}${IMAGE_VERSION_SUFFIX}" ESW_COMPONENT ??= "empty_application.elf" @@ -38,8 +36,8 @@ do_install() { do_deploy() { install -Dm 0644 ${B}/${ESW_COMPONENT} ${DEPLOYDIR}/${CUSTOM_APP_BASE_NAME}.elf - ln -sf ${CUSTOM_APP_BASE_NAME}.elf ${DEPLOYDIR}/${CUSTOM_APP_IMAGE_NAME}.elf + ln -sf ${CUSTOM_APP_BASE_NAME}.elf ${DEPLOYDIR}/${CUSTOM_APP_IMAGE_NAME}-${MACHINE}-${BB_CURRENT_MC}.elf install -m 0644 ${B}/empty_application.bin ${DEPLOYDIR}/${CUSTOM_APP_BASE_NAME}.bin - ln -sf ${CUSTOM_APP_BASE_NAME}.bin ${DEPLOYDIR}/${CUSTOM_APP_IMAGE_NAME}.bin + ln -sf ${CUSTOM_APP_BASE_NAME}.bin ${DEPLOYDIR}/${CUSTOM_APP_IMAGE_NAME}-${MACHINE}-${BB_CURRENT_MC}.bin } addtask deploy before do_build after do_install -- cgit v1.2.3-54-g00ecf From f9d0e8f09847567fe925006474f65c87ca796a20 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Sun, 11 Feb 2024 12:46:11 +0530 Subject: qemu : Updated SRCREV for 2024.1_6195 hw/misc/xlnx-versal-pmc-global: dont reset persistent storages hw/intc/arm_gicv3: adds wake-request fdt gpio hw/intc/arm_gicv3: implements wakerequest hw/misc/xlnx-versal-net-psmx-global: implement rpu wakeup request hw/misc/xlnx-versal-net-psmx-global: implement rpu powerdown request hw/misc/xlnx-versal-net-psmx-global: fix gpio set name hw/misc/xlnx-versal-net-rpu-pcil: introduce rpu shutdown request gpios hw/misc/xlnx-versal-net-rpu_pcil: dont set gpio during reset enter hw/core/fdt_generic_util: fix the logic to get gpio inputs --- meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc index 252b3372..71582d90 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc @@ -1,3 +1,3 @@ XILINX_QEMU_VERSION = "v8.1.0" BRANCH = "master" -SRCREV = "0b57a0590b6da4b0f84f987ac559a6462321f27d" +SRCREV = "948f6ae76e89ee7f14386ded90964f80236aae39" -- cgit v1.2.3-54-g00ecf From df91532687a785622d50185aaec9e732caddff5b Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Mon, 12 Feb 2024 12:30:10 +0530 Subject: Updated Commit ID kconfig_syshw.py: Update range for memory --- meta-xilinx-core/gen-machine-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf index ff0a08ae..3d277a3e 160000 --- a/meta-xilinx-core/gen-machine-conf +++ b/meta-xilinx-core/gen-machine-conf @@ -1 +1 @@ -Subproject commit ff0a08ae90208dc07e85498f9b04314bcdd26eba +Subproject commit 3d277a3e1d2676ce6a83e2dcb8d96a65924cc8af -- cgit v1.2.3-54-g00ecf From 2f9c54420e1deb5a9b27d84af58ff59ff23715be Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 12 Feb 2024 20:38:59 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_7175 axiethernet: Add support for compiling driver examples in yocto flow sw_apps: Update cmake version for standalone lwip apps in yocto flow dmaps: Add support for compiling driver examples in yocto flow v_hdmirxss: xhdmi_example: Update HDCP logic to support system device-tree flow for versal boards. v_hdmitxss1: Add xparameters.h to fix compilation errors v_hdmitxss: xhdmi_example: Update HDCP logic to support system device-tree flow for versal boards. v_hdmirxss: xhdmi_example: Fix HDMIRX/HDMITX Interrupt registration out of platform dependency. v_hdmirxss1:xhdmi_example: Update HDCP logic to support system device-tree flow. sw_services: xilsecure: Support for AES Operation and Zeroize Key ospipsv: Update OSPI TX tap delay element to 0x26 for DDR mode ospipsv: Increase the hold time after device reset ospipsv: Add OSPI controller reset for hardware pin reset mipicsiss: Support of SDT flow to selftest application. mipicsiss: Support of SDT flow to Interrupt application mipicsiss: SDT flow support for SP701 example application mipicsiss: data: Update yaml to support import example --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index ae7d39cd..dc675f2b 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "5cbc2349518b348aeffd9e912d64310b9684e26d" +ESW_REV[2024.1] = "0f81f645baa336557786380209de137aa5a51da3" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 11f071b6964cfebf1152e9357f9ed9077f706c7b Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 12 Feb 2024 20:31:08 +0530 Subject: qemu : Updated SRCREV for 2024.1_3607 hw/misc/reset-domain: walk sub-MRs when resetting --- meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc index 71582d90..c84b973f 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc @@ -1,3 +1,3 @@ XILINX_QEMU_VERSION = "v8.1.0" BRANCH = "master" -SRCREV = "948f6ae76e89ee7f14386ded90964f80236aae39" +SRCREV = "1f1417f921f9698d16e28c297302f4296b9c8cb3" -- cgit v1.2.3-54-g00ecf From 0e5bbe2abe10e74ed9f71b56549dcd4af4f68322 Mon Sep 17 00:00:00 2001 From: Hibitha B Raj Date: Fri, 9 Feb 2024 05:25:07 -0800 Subject: Updated SRCREV and License checksum for vdu 2024.1 Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb | 4 ++-- meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb index 0f193e06..47ad4e55 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb @@ -1,7 +1,7 @@ SUMMARY = "Control Software for VDU" DESCRIPTION = "Control software libraries, test applications and headers provider for VDU" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=ef69c2bb405668101824f0b644631e2e" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=002a0a92906100955ea6ed02dcd2c2cd" XILINX_VDU_VERSION = "1.0.0" PV =. "${XILINX_VDU_VERSION}-xilinx-v" @@ -13,7 +13,7 @@ REQUIRED_MACHINE_FEATURES = "vdu" BRANCH ?= "master" REPO ?= "git://github.com/Xilinx/vdu-ctrl-sw.git;protocol=https" -SRCREV ?= "af435d31aee1078bf31efd6dae45d7cba97b2638" +SRCREV ?= "db37dc935785dff57a52eabc41ac0bf26b0a1707" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" diff --git a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb index 0065c5c0..c0d9737f 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb @@ -1,7 +1,7 @@ SUMMARY = "Firmware for VDU" DESCRIPTION = "Firmware binaries provider for VDU" LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=097505cd2ff7f3f5d84f42aeea950823" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=722a9d20bf58ac06585a6d91ee36e60e" XILINX_VDU_VERSION = "1.0.0" PV =. "${XILINX_VDU_VERSION}-xilinx-v" @@ -15,7 +15,7 @@ REQUIRED_MACHINE_FEATURES = "vdu" BRANCH ?= "master" REPO ?= "git://github.com/Xilinx/vdu-firmware.git;protocol=https" -SRCREV ?= "7d7cd0b08ab875a3fdcbb0335de734e8b82102f3" +SRCREV ?= "7c4662d0f5b514cbb0b9890bc3011d9450bf3661" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" -- cgit v1.2.3-54-g00ecf From 97665e1f245bfde07ae3e508ffd1149033b9096f Mon Sep 17 00:00:00 2001 From: Conall O'Griofa Date: Fri, 9 Feb 2024 16:59:21 +0000 Subject: meta-xilinx-standalone-experimental: Update recipes for libmetal drivers Upadted and added recipes for libmetal drivers: rfdc dfeccf dfeequ dfemix dfeofdm dfeprach Signed-off-by: Conall O'Griofa Signed-off-by: Mark Hatle --- .../recipes-drivers/dfeccf-example_2024.1.bb | 6 ++++++ .../recipes-drivers/dfeccf_2024.1.bb | 4 ++-- .../recipes-drivers/dfeequ-example_2024.1.bb | 6 ++++++ .../recipes-drivers/dfeequ_2024.1.bb | 5 +++-- .../recipes-drivers/dfemix-example_2024.1.bb | 6 ++++++ .../recipes-drivers/dfemix_2024.1.bb | 4 ++-- .../recipes-drivers/dfeofdm-example_2024.1.bb | 6 ++++++ .../recipes-drivers/dfeofdm_2024.1.bb | 4 ++-- .../recipes-drivers/dfeprach-example_2024.1.bb | 6 ++++++ .../recipes-drivers/dfeprach_2024.1.bb | 4 ++-- .../recipes-drivers/rfdc-example_2024.1.bb | 6 ++++++ 11 files changed, 47 insertions(+), 10 deletions(-) create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/dfeccf-example_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/dfeequ-example_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/dfemix-example_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/dfeofdm-example_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/dfeprach-example_2024.1.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-drivers/rfdc-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfeccf-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dfeccf-example_2024.1.bb new file mode 100644 index 00000000..84f6c560 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/dfeccf-example_2024.1.bb @@ -0,0 +1,6 @@ +# Copyright (C) 2024 Advanced Micro Devices, Inc. All rights reserved. +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "dfeccf" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dfeccf/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfeccf_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dfeccf_2024.1.bb index 9d17cd96..86a55b9f 100644 --- a/meta-xilinx-standalone-experimental/recipes-drivers/dfeccf_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-drivers/dfeccf_2024.1.bb @@ -1,11 +1,11 @@ - +# Copyright (C) 2024 Advanced Micro Devices, Inc. All rights reserved. inherit features_check REQUIRED_MACHINE_FEATURES = "dfeccf" inherit esw python3native -DEPENDS += "xilstandalone " +DEPENDS += "xilstandalone libmetal " ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dfeccf/src/" ESW_COMPONENT_NAME = "libdfeccf.a" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfeequ-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dfeequ-example_2024.1.bb new file mode 100644 index 00000000..024477c3 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/dfeequ-example_2024.1.bb @@ -0,0 +1,6 @@ +# Copyright (C) 2024 Advanced Micro Devices, Inc. All rights reserved. +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "dfeequ" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dfeequ/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfeequ_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dfeequ_2024.1.bb index 1617b956..8ad43c1b 100644 --- a/meta-xilinx-standalone-experimental/recipes-drivers/dfeequ_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-drivers/dfeequ_2024.1.bb @@ -1,11 +1,12 @@ - +# Copyright (C) 2024 Advanced Micro Devices, Inc. All rights reserved. inherit features_check REQUIRED_MACHINE_FEATURES = "dfeequ" inherit esw python3native -DEPENDS += "xilstandalone " +DEPENDS += "xilstandalone libmetal " + ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dfeequ/src/" ESW_COMPONENT_NAME = "libdfeequ.a" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfemix-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dfemix-example_2024.1.bb new file mode 100644 index 00000000..4854c112 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/dfemix-example_2024.1.bb @@ -0,0 +1,6 @@ +# Copyright (C) 2024 Advanced Micro Devices, Inc. All rights reserved. +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "dfemix" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dfemix/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfemix_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dfemix_2024.1.bb index e08e1935..31c7b8ed 100644 --- a/meta-xilinx-standalone-experimental/recipes-drivers/dfemix_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-drivers/dfemix_2024.1.bb @@ -1,11 +1,11 @@ - +# Copyright (C) 2024 Advanced Micro Devices, Inc. All rights reserved. inherit features_check REQUIRED_MACHINE_FEATURES = "dfemix" inherit esw python3native -DEPENDS += "xilstandalone " +DEPENDS += "xilstandalone libmetal " ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dfemix/src/" ESW_COMPONENT_NAME = "libdfemix.a" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfeofdm-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dfeofdm-example_2024.1.bb new file mode 100644 index 00000000..e26f541b --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/dfeofdm-example_2024.1.bb @@ -0,0 +1,6 @@ +# Copyright (C) 2024 Advanced Micro Devices, Inc. All rights reserved. +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "dfeofdm" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dfeofdm/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfeofdm_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dfeofdm_2024.1.bb index 435e2fd2..a02ceae7 100644 --- a/meta-xilinx-standalone-experimental/recipes-drivers/dfeofdm_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-drivers/dfeofdm_2024.1.bb @@ -1,11 +1,11 @@ - +# Copyright (C) 2024 Advanced Micro Devices, Inc. All rights reserved. inherit features_check REQUIRED_MACHINE_FEATURES = "dfeofdm" inherit esw python3native -DEPENDS += "xilstandalone " +DEPENDS += "xilstandalone libmetal " ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dfeofdm/src/" ESW_COMPONENT_NAME = "libdfeofdm.a" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfeprach-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dfeprach-example_2024.1.bb new file mode 100644 index 00000000..2a8e5d74 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/dfeprach-example_2024.1.bb @@ -0,0 +1,6 @@ +# Copyright (C) 2024 Advanced Micro Devices, Inc. All rights reserved. +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "dfeprach" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dfeprach/examples/" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfeprach_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dfeprach_2024.1.bb index 81808fea..0890ff3b 100644 --- a/meta-xilinx-standalone-experimental/recipes-drivers/dfeprach_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-drivers/dfeprach_2024.1.bb @@ -1,11 +1,11 @@ - +# Copyright (C) 2024 Advanced Micro Devices, Inc. All rights reserved. inherit features_check REQUIRED_MACHINE_FEATURES = "dfeprach" inherit esw python3native -DEPENDS += "xilstandalone " +DEPENDS += "xilstandalone libmetal " ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dfeprach/src/" ESW_COMPONENT_NAME = "libdfeprach.a" diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/rfdc-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/rfdc-example_2024.1.bb new file mode 100644 index 00000000..2c6bbdd1 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-drivers/rfdc-example_2024.1.bb @@ -0,0 +1,6 @@ +# Copyright (C) 2024 Advanced Micro Devices, Inc. All rights reserved. +inherit esw_examples features_check + +REQUIRED_MACHINE_FEATURES = "rfdc" + +ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/rfdc/examples/" -- cgit v1.2.3-54-g00ecf From d1db4e727ca9e0ea78bfa639861f42dddddf9181 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 13 Feb 2024 14:03:06 +0530 Subject: xen : Updated SRCREV for 2024.1_2559 xen/arm: Use host layout for hwdom if LLC coloring enabled xen/arm: mm: Extend xen_colored_temp to be able to cover XEN_VIRT_SIZE xen/arm: parse legacy cache coloring configuration parameters xen: print useful coloring information at boot xen: cache coloring build fixes xen/arm: add cache coloring support for Xen xen/arm: add Xen cache colors command line parameter Revert "xen/arm: Remove unused BOOT_RELOC_VIRT_START" xen/arm: use domain memory to allocate p2m page tables xen: add cache coloring allocator for domains xen/page_alloc: introduce preserved page flags macro xen/page_alloc: introduce init_free_page_fields() helper xen/arm: add support for cache coloring configuration via device-tree tools: add support for cache coloring configuration xen: extend domctl interface for cache coloring xen/arm: add Dom0 cache coloring support xen/arm: add cache coloring initialization xen/common: add cache coloring common code vsmmuv3: Add dma-coherent property to exposed vSMMUv3 nodes xen/arm: mark make_hwdom_viommu_node __init xen/arm: mark modify_pfdt_node __init docs: fix pod documentation for viommu xen/arm: support specifying viommu type in device tree xen/arm: vIOMMU: Add proper handling for dom0less domUs xen/arm: vIOMMU: Add command line option dom0_viommu and its handling xen/arm: vIOMMU: Remove global cmdline option viommu arm/libxl: vsmmuv3: Reserve vIRQ only if vSMMUv3 enabled xen/arm: vIOMMU: Fix type of irq to be int in struct host_iommu xen/arm: vIOMMU: Fix viommu_type to be uint8_t xen/arm: vIOMMU: Modify the partial device tree for dom0less libxl/arm: vIOMMU: Modify the partial device tree for iommus xen/arm: vsmmuv3: Add support to send stage-1 event to guest xen/arm: iommu: skip the iommu-map property for PCI devices xen/arm: vsmmuv3: Alloc virq for virtual SMMUv3 arm/libxl: vsmmuv3: Emulated SMMUv3 device tree node in libxl xen/arm: vsmmuv3: Emulated SMMUv3 device tree node for dom0less xen/arm: vIOMMU: IOMMU device tree node for dom0 xen/arm: vsmmuv3: Add "iommus" property node for dom0 devices xen/arm: vsmmuv3: Add support for event queue and global error xen/arm: vsmmuv3: Attach Stage-1 configuration to SMMUv3 hardware xen/arm: vsmmuv3: Add support for command CMD_CFGI_STE xen/arm: vsmmuv3: Add support for cmdqueue handling xen/arm: vsmmuv3: Add support for registers emulation xen/arm: vIOMMU: Add cmdline boot option "viommu = " xen/domctl: Add XEN_DOMCTL_CONFIG_VIOMMU_* and viommu config param xen/arm: vsmmuv3: Add dummy support for virtual SMMUv3 for guests xen/arm: vIOMMU: add generic vIOMMU framework xen/arm: smmuv3: Alloc io_domain for each device xen/arm: smmuv3: Add support for stage-1 and nested stage translation xen/arm: smmuv3: Maintain a SID->device structure tools: build/use qemu-system-aarch64 tools: liblx_dm: Add iommu_platform args to virtio-mmio libxl: virtio-mmio: add iommu property for all backend domains libxl: default nic type should be vif libs: light: Add virtio-net support libs: light: Correct virtio-mmio mapping order for disk backends tools: libxl: Add support for xenpvh machine libxl: add support for emulated TPM on ARM xen/eemi: Do not forward PM_CLOCK_DISABLE to firmware xen/eemi: Add PM_SECURE_AES handling xen/eemi: Make PM_FEATURE_CHECK handling common xen/eemi: Fix clock_id_is_pll() for Versal xen/arm: vpl011: Add PL011 emulation support arm/libxl + domctl: Add emulated PL011 device tree node in libxl xen/arm: vpl011: Add sbsa parameter to domain_vpl011_init() xen/arm: Add emulated PL011 device tree node for dom0less domUs xen/arm: vpl011: Untangle driver from being SBSA specific xen/arm: Rename CONFIG_SBSA_VUART_CONSOLE to CONFIG_VPL011_CONSOLE xen/domctl: Rename XEN_DOMCTL_VUART_TYPE_VPL011 arm/libxl: Drop unneeded parameters of make_vpl011_uart_node() arm/platforms: add EEMI support for versal-net xen/arm: Enable SMMUv3 by default sanitise_domain_config: continue when no IOMMU is present xen: Always set XENFEAT_not_direct_mapped if vIOMMU enabled ioreq: Update ioreq_server_create() to support ARM arch xen/eemi: add newlines to gdprintk messages Arm: Enable BOOT_PIN_CTRL for Dom0 platforms: xilinx: Add support for mapping PM nodes into 64-bit addresses xen: eemi: make xen passthrough for unknown EEMI calls from Dom0 xen/eemi: Add EEMI calls to support SGI registration xen/eemi: Add call to set SGI interrupt xen/eemi: on CLOCK_ENABLE, check if the clock is already enabled xen: dynamically choose the gnttab region for direct-map domUs xen: domain_has_clock_access return true for dom0 for missing entries xen/arm: allow domUs to iomap reserved-memory regions xen: platforms: Correct pm_rst_access to map a node into a memory address xen/arm: introduce xen,reg-cacheable Add PM_FPGA_READ to the EEMIs list xen/arm: allow domU access for certain eemi functions for configuring MMC xen/arm: Allow DomU access for certain EEMI functions xen/arm: increase the max size of domU dtb xen/arm: allow device assignment to direct-map domains without IOMMU xen/arm: skip duplicate memory banks xen: platforms: Add clock mapping for test_pattern and timestamp platforms: xilinx: zynqmp: add GEM[0-3] nodes for DomU access platforms: xilinx: move EEMI PM_PLL* fns handling to common file platforms: xilinx: versal: Match ZynqMP For EEMI PLL commands platforms: xilinx: zynqmp: wrap pll bound check for EEMI PLL commands platforms: xilinx: move EEMI PM_CLOCK* fns handling to common file platforms: xilinx: zynqmp: Match Versal by adding clock_id_is_pll platforms: xilinx: fix style in comments platforms: xilinx: zynqmp: Update EEMI Handler to Fn IDs platform: versal: rename macros for dev, rst, clk platforms: xilinx: move domain_has_clock_access handling to common file platforms: xilinx: move clock_is_valid handling to common file platforms: xilinx: move pm reset access handling to common file platforms: xilinx: move domain_has_node_access handling to common file platforms: xilinx: move pm_check_access to common file platforms: xilinx: move common structs pm_access and pm_clk2node to common xilinx-eemi.h platforms: xilinx: EEMI: add extra file for PM mediation to remove duplicated code platform: zynqmp: match Versal EEMI definitions to be #define ints platform: zynqmp: remove special case for PM_DEV_UNKNOWN platform: zynqmp: rename macros for dev, rst, clk platform: versal: Remove all PL devices except PLD_0 device platform: versal: add missing R5 and OCM clock/dev mappings platform: versal: add AIE device and reset nodes to node map platform: versal: sync PM EEMI/MM headers with firmware headers platform: versal: Improve prints in versal EEMI mediate layer platforms/versal: fix switch condition in EEMI mediate layer platform: zynqmp: allow Dom0 access to PL device platform: versal: add EEMI layer support platform: zynqmp: add a common EEMI header platform: zynqmp: correct typos in comments platform: zynqmp: rename clock node macros platform: zynqmp: rename reset node macros platform: zynqmp: rename device node macros xen: add a separate platform file for Versal xen: mediate EEMI TCM calls platform: zynqmp: Map missing clocks to respective node s/xen,shared-memory/xen,shared-memory-v1/g xen/docs: improve reserved-memory doc xen/libxc: dont change xc_domain_memory_mapping xen/docs: how to map a page between dom0 and domU using iomem libxl/xl: add cacheability option to iomem libxc: xc_domain_memory_mapping, handle cacheability xen: extend XEN_DOMCTL_memory_mapping to handle cacheability xen/arm: export shared memory regions as reserved-memory on device tree xen/arm: zynqmp: Add RPLL and VPLL-related clocks to pm_clock2node map xen/arm: zynqmp: Remove direct accesses to PLLs and their resets xen/arm: zynqmp: Remove MMIO r/w accesses to clock and PLL control xen/arm: zynqmp: Add PLL set mode/parameter EEMI API xen/arm: zynqmp: Add PLL EEMI API definitions and passthrough get functions xen/arm: zynqmp: Implement checking and passthrough for clock control APIs xen/arm: zynqmp: Clock get EEMI API functions are allowed to each guest xen/arm: zynqmp: Return not supported error for clock get/set rate API xen/arm: zynqmp: Fix power management status/error codes xen/eemi: proper bounds checks xen: platform: zynqmp: Add new eemi api IDs arch/arm64: zynqmp: Allow MMIO access to the CRF audio register xen/arm: zynqmp: Use the USB XHCI areas to determine EEMI perms xen/arm64: zynqmp: Regenerate LPD memmap xen/arm: zynqmp: Forward plaform specific firmware calls docs: documentation about static shared memory regions libxl:xl: add parsing code to parse "libxl_static_sshm" from xl config files libxl: support unmapping static shared memory areas during domain destruction libxl: support mapping static shared memory areas during domain creation libxl: introduce a new structure to represent static shared memory regions xen: xsm: flask: introduce XENMAPSPACE_gmfn_share for memory sharing xen/arm: allow domUs to discover their domid via a DEBUG hypercall xen: disable undef exception on set/way flushing xen/arm: disable warnings at boot about SILO and sync_console xen/arm: populate arm64_defconfig --- meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb b/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb index d2a09a89..b404bb83 100644 --- a/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb +++ b/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb @@ -1,5 +1,5 @@ # tag: RELEASE-4.18.0 -SRCREV ?= "d75f1e9b74314cea91ce435730d4e3539ecca77d" +SRCREV ?= "1bdd031859c1d0a792f670d58b473f08be54e255" XEN_URI ?= "git://xenbits.xen.org/xen.git" XEN_REL ?= "4.18" -- cgit v1.2.3-54-g00ecf From cd7a4e317fd33383c26ece7f8002e8244d66e6f2 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 13 Feb 2024 14:14:16 +0530 Subject: dts : Updated SRCREV for 2024.1_3187 ps/psx: parent the GIC under the FPD memory region versal-net: wire the rpu wakeup signals versal-net: wire the rpu powerdown signals psx-rpu: Increase the gic num irqs versal: psx: macro-ify the rpu_ctrl creation versal: psx: rpu: macro-ify the amba stream creation versal: psx: rpu: macro-ify the rpu timer creation versal: psx: rpu: macro-ify the gic creation versal: psx: rpu: macro-ify the cpu cluster creation versal: psx: rpu: rename cluster rpu macro versal-psx: fix a typo for gpio-controller versal-psm: Conditionally compile few psm blocks versal-ps-pl-remoteport: Add SERBS support for AFI0/2 versal: add lpd & fpd interconnect config regs versal-ddrmc: Remove HAS_DDRMCx macros psx-memmap-aliases: Conditionally define DDRMC aliases versal: Move DDRMC npi nodes versal-net: Rename board names to have es1 tagged --- meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb index ffa3b6f8..deec70a4 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb @@ -2,5 +2,5 @@ require qemu-devicetrees.inc BRANCH ?= "master" -SRCREV ?= "2ed715388ca61bc241c32d12f681a26da54697de" +SRCREV ?= "856d4a3e891271cf4e752d8ea1e8c075bb7dbc2a" -- cgit v1.2.3-54-g00ecf From 012711e2039033df364e94206250a1203ca5081c Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 13 Feb 2024 14:13:45 +0530 Subject: linux-xlnx : Updated SRCREV for 2024.1_4367 mtd: spi-nor: Add support for S28HS02GT Infineon OSPI flash soc: xilinx: Fix logic to check sub_family_code mtd: spi-nor: issi: Add support for is25lx512m OSPI flash misc: xilinx-ai-engine: release the dma_buf assigned to pmem crypto: xilinx: Updated fallback checks to call hardware AES drivers: soc: xilinx: check return status of get_api_version() drm: xlnx: hdcp: Fix memcpy argument in hdcp2x_tx_wait_for_pairing_info() tty: serial: uartps: Add rs485 support to uartps driver tty: serial: uartps: Relocate cdns_uart_tx_empty to facilitate rs485 dt-bindings: Add reference to rs485.yaml serial: core: Provide port lock wrappers --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index c7deaa28..bc1191b3 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.6.10" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.6;destsuffix=yocto-kmeta" KBRANCH="xlnx_rebase_v6.6_LTS" -SRCREV = "102d9208feb0d1f07915f782c3cbc687390bb5a8" +SRCREV = "92a2357514286fbbdb8a16e52277f07deb91eaf9" SRCREV_meta = "5d0809d0d939c7738cb6e5391126c73fd0e4e865" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From 61175d113cf6a76cc7fbb87f149c01e3c93584eb Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 13 Feb 2024 15:07:05 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_5955 xilsecure: versal_net SDT support xilocp: versal_net SDT support xilcert: versal_net SDT support xilpuf: versal_net SDT support versal_plm: versal_net SDT support fs-boot: fixing flash issues sdi: Add support for KCU116 SDT flow audio_formatter: Add SDT support for audio formatter i2s: Add SDT support for i2s sound card driver drivers: Fix compilation errors reported by IAR --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index dc675f2b..24222f80 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "0f81f645baa336557786380209de137aa5a51da3" +ESW_REV[2024.1] = "77a32db3129d7da8951bb44bcd929dfa57a34508" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 9205d4525e3246f246406ed44e91d448df73df67 Mon Sep 17 00:00:00 2001 From: Jonathan Stroud Date: Mon, 12 Feb 2024 11:41:20 -0700 Subject: Add a kernel config file to enable CONFIG_VERSAL_SYSMON_I2C Signed-off-by: Jonathan Stroud Signed-off-by: Mark Hatle (cherry picked from commit 362eeb56e99754b9082f62187d39dc7ea7ad1a19) Signed-off-by: Mark Hatle --- .../linux-xlnx-kmeta/features/versal-sysmon/versal-sysmon.cfg | 1 + .../linux-xlnx-kmeta/features/versal-sysmon/versal-sysmon.scc | 2 ++ 2 files changed, 3 insertions(+) create mode 100644 meta-xilinx-core/recipes-kernel/linux/linux-xlnx/linux-xlnx-kmeta/features/versal-sysmon/versal-sysmon.cfg create mode 100644 meta-xilinx-core/recipes-kernel/linux/linux-xlnx/linux-xlnx-kmeta/features/versal-sysmon/versal-sysmon.scc diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx/linux-xlnx-kmeta/features/versal-sysmon/versal-sysmon.cfg b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx/linux-xlnx-kmeta/features/versal-sysmon/versal-sysmon.cfg new file mode 100644 index 00000000..a5b23e3f --- /dev/null +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx/linux-xlnx-kmeta/features/versal-sysmon/versal-sysmon.cfg @@ -0,0 +1 @@ +CONFIG_VERSAL_SYSMON_I2C=y diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx/linux-xlnx-kmeta/features/versal-sysmon/versal-sysmon.scc b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx/linux-xlnx-kmeta/features/versal-sysmon/versal-sysmon.scc new file mode 100644 index 00000000..c1830956 --- /dev/null +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx/linux-xlnx-kmeta/features/versal-sysmon/versal-sysmon.scc @@ -0,0 +1,2 @@ +# SPDX-License-Identifier: MIT +kconf hardware versal-sysmon.cfg -- cgit v1.2.3-54-g00ecf From 27ca7b3556e18441db49e11e531badbc79168577 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Mon, 12 Feb 2024 09:41:23 -0700 Subject: fw-package.bbclass: Create new bbclass for fw packaging Create a new fw-package.bbclass which provides infrastructure to package and deploy firmware baremetal or freertos application elf or bin files to linux root filesystem under /lib/firmware(default) or /boot directory as per requirement. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- meta-xilinx-core/classes-recipe/fw-package.bbclass | 94 ++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 meta-xilinx-core/classes-recipe/fw-package.bbclass diff --git a/meta-xilinx-core/classes-recipe/fw-package.bbclass b/meta-xilinx-core/classes-recipe/fw-package.bbclass new file mode 100644 index 00000000..e9847d33 --- /dev/null +++ b/meta-xilinx-core/classes-recipe/fw-package.bbclass @@ -0,0 +1,94 @@ +# +# Copyright (C) 2024, Advanced Micro Devices, Inc. All rights reserved. +# +# SPDX-License-Identifier: MIT +# +# This bbclass provides infrastructure to package and deploy firmware baremetal +# or freertos application elf or bin files to linux root filesystem under +# /lib/firmware directory. + +inherit deploy + +INHERIT_DEFAULT_DEPENDS = "1" + +# Since we're just copying, we can run any config. +COMPATIBLE_HOST = ".*" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +# Default expects the user to provide the fw app in the deploy directory. +# A machine, multiconfig, or local.conf should override this. +FW_NAME ??= "" +TARGET_MC ??= "" +FW_DEPENDS ??= "" +FW_MCDEPENDS ??= "" +FW_DEPLOY_DIR ??= "${DEPLOY_DIR_IMAGE}" +FW_DEPLOY_DIR[vardepsexclude] += "TOPDIR" +FW_IMAGE_NAME ??= "${FW_NAME}-${MACHINE}-${TARGET_MC}" + +# Default is for the multilib case (without the extension .elf/.bin) +FW_FILE ??= "${FW_DEPLOY_DIR}/${FW_IMAGE_NAME}" +FW_FILE[vardepsexclude] = "FW_DEPLOY_DIR" + +do_fetch[depends] += "${FW_DEPENDS}" +do_fetch[mcdepends] += "${FW_MCDEPENDS}" + +# Set default destination directory is /lib/firmware, user can change this value +# to /boot directory depending on requirement. +DESTDIR ??= "${nonarch_base_libdir}/firmware/xilinx" +SYSROOT_DIRS += "/boot" + +INSANE_SKIP:${PN} = "arch" +INSANE_SKIP:${PN}-dbg = "arch" + +# Disable buildpaths QA check warnings. +INSANE_SKIP:${PN} += "buildpaths" + +do_install() { + if [ ! -e ${FW_FILE}.elf ]; then + echo "Unable to find FW_FILE (${FW_FILE}.elf)" + exit 1 + fi + + install -Dm 0644 ${FW_FILE}.elf ${D}${DESTDIR}/${FW_IMAGE_NAME}.elf +} + +# If the item is already in OUR deploy_image_dir, nothing to deploy! +SHOULD_DEPLOY = "${@'false' if (d.getVar('FW_FILE')).startswith(d.getVar('DEPLOY_DIR_IMAGE')) else 'true'}" +do_deploy() { + # If the item is already in OUR deploy_image_dir, nothing to deploy! + if ${SHOULD_DEPLOY}; then + install -Dm 0644 ${FW_FILE}.elf ${DEPLOYDIR}/${FW_IMAGE_NAME}.elf + install -Dm 0644 ${FW_FILE}.bin ${DEPLOYDIR}/${FW_IMAGE_NAME}.bin + fi +} + +FILES:${PN} += "${DESTDIR}/${FW_IMAGE_NAME}*" + +def check_fw_vars(d): + # If both are blank, the user MUST pass in the path to the firmware! + if not d.getVar('FW_DEPENDS') and not d.getVar('FW_MCDEPENDS'): + # Don't cache this, as the items on disk can change! + d.setVar('BB_DONT_CACHE', '1') + + msg = "" + fail = False + if not os.path.exists(d.getVar('FW_FILE') + ".elf"): + msg = msg + "The expected file %s.elf is not available. " % d.getVar('FW_FILE') + fail = True + if not os.path.exists(d.getVar('FW_FILE') + ".bin"): + msg = msg + "The expected file %s.bin is not available. " % d.getVar('FW_FILE') + fail = True + if fail: + if not d.getVar('WITHIN_EXT_SDK'): + raise bb.parse.SkipRecipe("%s\nSee the meta-xilinx-core README." % msg) + else: + # We found the file, so be sure to track it + d.setVar('SRC_URI', 'file://${FW_FILE}.elf file://${FW_FILE}.bin') + d.setVarFlag('do_install', 'file-checksums', '${FW_FILE}.elf:True ${FW_FILE}.bin:True') + d.setVarFlag('do_deploy', 'file-checksums', '${FW_FILE}.elf:True ${FW_FILE}.bin:True') + +python() { + # Need to allow bbappends to change the check + check_fw_vars(d) +} -- cgit v1.2.3-54-g00ecf From a346a37df89644e9ca7036c092f17ef1361b9489 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Mon, 12 Feb 2024 09:41:24 -0700 Subject: README.fw.package.md: Add instructions for fw packaging Add instructions to package and deploy baremetal or freertos application elf or bin files to linux root filesystem under /lib/firmware/xilinx(default) or /boot directory as per requirement. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- docs/README.fw.package.md | 61 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 docs/README.fw.package.md diff --git a/docs/README.fw.package.md b/docs/README.fw.package.md new file mode 100644 index 00000000..fc3c45ab --- /dev/null +++ b/docs/README.fw.package.md @@ -0,0 +1,61 @@ +# How to package and depoly firmware elf or bin to linux root filesystem + +* [Introduction](#introduction) +* [How to create and install firmware package recipe](#how-to-create-and-install-firmware-package-recipe) + +## Introduction +This readme describes how to package and deploy firmware baremetal or freertos +application elf or bin files to linux root filesystem under /lib/firmware directory. +Packaging an firmware baremetal or freertos application elf or bin files to linux +root filesystem is not automated from multiconfig baremetal or freertos recipes. +Hence user has to create a linux recipe and inherit fw-package which provides +infrastructure to package and deploy firmware elf or bin files to linux root +filesystem. + +## How to create and install firmware package recipe + +1. Follow [SDT Building Instructions](../README.building.md) upto step 4. + +2. Create recipes-firmware directory in distribution meta layer. +``` +$ mkdir -p /recipes-firmware// +``` +3. Now create the recipes firmware package using recipetool. +``` +$ recipetool create -o /recipes-firmware//firmware-package-name.bb +``` +4. Modify the recipe and inherit fw-package bbclass as shown below. + +> **Note:** +> * **DESTDIR:** Variable to specify elf or bin directory path. Default is set to +> /lib/firmware directory from fw-package,bbclass and user can +> change this value to /boot directory depending on requirement. +> * **FW_NAME:** Variable to define firmware baremetal or freertos application +> recipe name. +> * **TARGET_MC:** Variable to define one of the multiconfig target name +> (ex: cortexr5-0-zynqmp-baremetal) from the BBMULTICONFIG list +> generated at [SDT Building Instructions](../README.building.md) +> step 4. + +``` +SUMMARY = "Recipe to package and deploy baremetal or freertos elf or bin to linux rootfs" +LICENSE = "CLOSED" + +inherit fw-package + +FW_NAME = "hello-world" + +TARGET_MC = "cortexr5-0-zynqmp-baremetal" + +FW_MCDEPENDS := "mc::${TARGET_MC}:${FW_NAME}:do_deploy" +FW_DEPLOY_DIR := "${TOPDIR}/tmp-${TARGET_MC}/deploy/images/${MACHINE}" +``` +5. Add firmware-package recipe to image to local.conf as shown below. + +``` +IMAGE_INSTALL:append = " \ + firmware-package-name \ + " +``` +6. Follow [SDT Building Instructions](../README.building.md) and continue from + step 5. -- cgit v1.2.3-54-g00ecf From 8da9e7c9a49181debb407a882791250726f22dfe Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Mon, 12 Feb 2024 09:41:25 -0700 Subject: sample-fw-package: Sample recipe for hello world elf packaging Add sample recipe for cortexr5-0-zynqmp-baremetal multiconfig target hello world baremetal elf or bin to package and deploy to linux root filesystem under /lib/firmware/xilinx directory. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- .../sample-fw-package/sample-fw-package.bb | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 meta-xilinx-standalone-experimental/recipes-applications/sample-fw-package/sample-fw-package.bb diff --git a/meta-xilinx-standalone-experimental/recipes-applications/sample-fw-package/sample-fw-package.bb b/meta-xilinx-standalone-experimental/recipes-applications/sample-fw-package/sample-fw-package.bb new file mode 100644 index 00000000..5def36c3 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-applications/sample-fw-package/sample-fw-package.bb @@ -0,0 +1,11 @@ +SUMMARY = "Sample recipe to package and deploy baremetal or freertos elf or bin to linux rootfs" +LICENSE = "CLOSED" + +inherit fw-package + +FW_NAME = "hello-world" + +TARGET_MC = "cortexr5-0-zynqmp-baremetal" + +FW_MCDEPENDS := "${@bb.utils.contains('BBMULTICONFIG', '${TARGET_MC}', 'mc::${TARGET_MC}:${FW_NAME}:do_deploy', '', d)}" +FW_DEPLOY_DIR := "${@bb.utils.contains('BBMULTICONFIG', '${TARGET_MC}', '${TOPDIR}/tmp-${TARGET_MC}/deploy/images/${MACHINE}', '${DEPLOY_DIR_IMAGE}', d)}" -- cgit v1.2.3-54-g00ecf From fd9a51ca8e4cdd74697b804de351f74ac67730fc Mon Sep 17 00:00:00 2001 From: Mohd Saquib Siraj Date: Mon, 12 Feb 2024 15:40:38 +0530 Subject: xilpuf-example_2024.1.bb: Updated the dependencies In depends of xilpuf example recipe, added xilmailbox and xilnvm as dependencies because the build was failing as header files from these libraries are used to compile these examples. Signed-off-by: Mohd Saquib Siraj Signed-off-by: Mark Hatle --- .../recipes-libraries/xilpuf-example_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilpuf-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilpuf-example_2024.1.bb index ca0abc12..13b0b5d6 100644 --- a/meta-xilinx-standalone-experimental/recipes-libraries/xilpuf-example_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilpuf-example_2024.1.bb @@ -2,7 +2,7 @@ inherit esw deploy ESW_COMPONENT_SRC = "/lib/sw_services/xilpuf/examples/" -DEPENDS += "xilpuf xilsecure" +DEPENDS += "xilpuf xilsecure xilmailbox xilnvm" do_configure:prepend() { ( -- cgit v1.2.3-54-g00ecf From 9be2b3a196ce333890ec21968d49df15cefb121f Mon Sep 17 00:00:00 2001 From: Mohd Saquib Siraj Date: Mon, 12 Feb 2024 15:40:39 +0530 Subject: xilnvm_2024.1.bb: Updated dependent libraries to build xilnvm-example Added xilmailbox libraries as dependency, as to build the xilnvm example the header file from these libraries is required Signed-off-by: Mohd Saquib Siraj Signed-off-by: Mark Hatle --- meta-xilinx-standalone-experimental/recipes-libraries/xilnvm_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilnvm_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilnvm_2024.1.bb index 9114aa72..bed2c78e 100644 --- a/meta-xilinx-standalone-experimental/recipes-libraries/xilnvm_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilnvm_2024.1.bb @@ -3,4 +3,4 @@ inherit esw ESW_COMPONENT_SRC = "/lib/sw_services/xilnvm/src/" ESW_COMPONENT_NAME = "libxilnvm.a" -DEPENDS += "libxil xiltimer xilplmi" +DEPENDS += "libxil xiltimer ${@'xilplmi' if d.getVar('ESW_MACHINE') == 'psv_pmc_0' else 'xilmailbox'}" -- cgit v1.2.3-54-g00ecf From 8775ea2c883042568f1c6735f3325c4f764a14e9 Mon Sep 17 00:00:00 2001 From: Mohd Saquib Siraj Date: Mon, 12 Feb 2024 15:40:40 +0530 Subject: xilskey-example_2024.1.bb: Added recipe to build xilskey examples Have added the recipe to build the xilskey examples as part of this patch Signed-off-by: Mohd Saquib Siraj Signed-off-by: Mark Hatle --- .../recipes-libraries/xilskey-example_2024.1.bb | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 meta-xilinx-standalone-experimental/recipes-libraries/xilskey-example_2024.1.bb diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilskey-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilskey-example_2024.1.bb new file mode 100644 index 00000000..a42d6fd2 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilskey-example_2024.1.bb @@ -0,0 +1,29 @@ +inherit esw deploy + +ESW_COMPONENT_SRC = "/lib/sw_services/xilskey/examples/" + +DEPENDS += "xilskey xilsecure" + +do_configure:prepend() { + ( + cd ${S} + lopper ${DTS_FILE} -- baremetallinker_xlnx.py ${ESW_MACHINE} ${S}/${ESW_COMPONENT_SRC} + install -m 0755 *.cmake ${S}/${ESW_COMPONENT_SRC}/ + ) +} + +ESW_CUSTOM_LINKER_FILE ?= "None" +EXTRA_OECMAKE = "-DCUSTOM_LINKER_FILE=${@d.getVar('ESW_CUSTOM_LINKER_FILE')}" + +do_install() { + install -d ${D}/${base_libdir}/firmware + install -m 0755 ${B}/*.elf ${D}/${base_libdir}/firmware +} + +do_deploy() { + install -d ${DEPLOYDIR}/${BPN}/ + install -Dm 0644 ${WORKDIR}/package/${base_libdir}/firmware/*.elf ${DEPLOYDIR}/${BPN}/ +} +addtask deploy before do_build after do_package + +FILES:${PN} = "${base_libdir}/firmware/*.elf" -- cgit v1.2.3-54-g00ecf From 15d7fb5712182ca97d9a4818ebd1d82d44b6fb08 Mon Sep 17 00:00:00 2001 From: Ben Levinsky Date: Mon, 12 Feb 2024 08:40:53 -0800 Subject: lopper: Update SRCREV for 2024.1 4af6ecd openamp: xlnx: Clean up SOC Parsing 62a0930 openamp: xlnx: Add support for more SOC's f58a344 openamp: xlnx: Add VMK180 support 1fcbfed assists/isospec: add ss_permissions to valid access types 6b74788 lopper: assists: baremetal_xparameters_xlnx: Update IPI interrupt ID value to inline with vitis classic b03b978 lopper: assists: baremetal_xparameters_xlnx: Generate interrupt ID for IPI cf70679 lopper: assists: baremetalconfig_xlnx: Generate dummy config struct in case proprety is not present f20667c assists/isospec: log new spec type ss_management Signed-off-by: Ben Levinsky Signed-off-by: Mark Hatle --- .../virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend index 09750d5b..33898dc3 100644 --- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend @@ -1,5 +1,5 @@ SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=master;protocol=https" -SRCREV = "3b8462ba7811e334290d07ef13434db773523378" +SRCREV = "4af6ecdf4af8904294b5fcc8a94562c9096f7106" FILESEXTRAPATHS:prepend := "${THISDIR}/lopper:" -- cgit v1.2.3-54-g00ecf From 4aedbd596b66ff57876afa31be8228add79fa651 Mon Sep 17 00:00:00 2001 From: John Toomey Date: Mon, 12 Feb 2024 16:43:59 +0000 Subject: u-boot: Remove legacy u-boot configs Signed-off-by: John Toomey Signed-off-by: Mark Hatle --- ...Remove-redundant-YYLOC-global-declaration.patch | 28 -------- .../recipes-bsp/u-boot/u-boot-tools-xlnx_2023.1.bb | 21 ------ .../u-boot-v2021.01/microblaze-generic-top.h | 10 --- .../u-boot/u-boot-v2021.01/microblaze-generic.cfg | 81 ---------------------- .../recipes-bsp/u-boot/u-boot-xlnx-2023.1.inc | 17 ----- .../recipes-bsp/u-boot/u-boot-xlnx_2023.1.bb | 4 -- 6 files changed, 161 deletions(-) delete mode 100644 meta-xilinx-core/recipes-bsp/u-boot/files/0001-Remove-redundant-YYLOC-global-declaration.patch delete mode 100644 meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2023.1.bb delete mode 100644 meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2021.01/microblaze-generic-top.h delete mode 100644 meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2021.01/microblaze-generic.cfg delete mode 100644 meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.1.inc delete mode 100644 meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2023.1.bb diff --git a/meta-xilinx-core/recipes-bsp/u-boot/files/0001-Remove-redundant-YYLOC-global-declaration.patch b/meta-xilinx-core/recipes-bsp/u-boot/files/0001-Remove-redundant-YYLOC-global-declaration.patch deleted file mode 100644 index 7091098c..00000000 --- a/meta-xilinx-core/recipes-bsp/u-boot/files/0001-Remove-redundant-YYLOC-global-declaration.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 8127b19aa42ccfb3faae1173a12b3eb0cebf8941 Mon Sep 17 00:00:00 2001 -From: Peter Robinson -Date: Thu, 30 Jan 2020 09:37:15 +0000 -Subject: [PATCH] Remove redundant YYLOC global declaration - -Same as the upstream fix for building dtc with gcc 10. - -Signed-off-by: Peter Robinson -State: upstream (e33a814e772cdc36436c8c188d8c42d019fda639) ---- - scripts/dtc/dtc-lexer.l | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/scripts/dtc/dtc-lexer.l b/scripts/dtc/dtc-lexer.l -index fd825ebba6..24af549977 100644 ---- a/scripts/dtc/dtc-lexer.l -+++ b/scripts/dtc/dtc-lexer.l -@@ -38,7 +38,6 @@ LINECOMMENT "//".*\n - #include "srcpos.h" - #include "dtc-parser.tab.h" - --YYLTYPE yylloc; - extern bool treesource_error; - - /* CAUTION: this will stop working if we ever use yyless() or yyunput() */ --- -2.29.2 - diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2023.1.bb b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2023.1.bb deleted file mode 100644 index fe5ecf79..00000000 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2023.1.bb +++ /dev/null @@ -1,21 +0,0 @@ -require u-boot-tools-xlnx.inc -require u-boot-xlnx-2023.1.inc - -# MUST clear CONFIG_VIDEO to avoid a compilation failure trying to construct -# bmp_logo.h -SED_CONFIG_EFI:append = ' -e "s/CONFIG_VIDEO=.*/# CONFIG_VIDEO is not set/"' - -# Default do_compile fails with: -# | error: object directory ../downloads/git2/github.com.Xilinx.u-boot-xlnx.git/objects does not exist; check .git/objects/info/alternates. -# The regular workaround of calling 'git diff' seems to be problematic. -do_compile () { - oe_runmake -C ${S} tools-only_defconfig O=${B} - - # Disable CONFIG_CMD_LICENSE, license.h is not used by tools and - # generating it requires bin2header tool, which for target build - # is built with target tools and thus cannot be executed on host. - sed -i -e "s/CONFIG_CMD_LICENSE=.*/# CONFIG_CMD_LICENSE is not set/" ${SED_CONFIG_EFI} ${B}/.config - - oe_runmake -C ${S} cross_tools NO_SDL=1 O=${B} -} - diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2021.01/microblaze-generic-top.h b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2021.01/microblaze-generic-top.h deleted file mode 100644 index 08c1c16c..00000000 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2021.01/microblaze-generic-top.h +++ /dev/null @@ -1,10 +0,0 @@ -/* - * This file is use for addition u-boot configurations for microblaze. - */ -#include - -/* Core microblaze boot configurations */ -#define XILINX_USE_DCACHE 1 -#define CONFIG_CMD_IRQ -#define CONFIG_DCACHE -#define CONFIG_ICACHE \ No newline at end of file diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2021.01/microblaze-generic.cfg b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2021.01/microblaze-generic.cfg deleted file mode 100644 index 0f784f73..00000000 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2021.01/microblaze-generic.cfg +++ /dev/null @@ -1,81 +0,0 @@ -# SPDX-License-Identifier: MIT - -#........................................................................ -# WARNING -# -# This file is a u-boot configuration fragment, and not a full u-boot -# configuration file. The final u-boot configuration is made up of -# an assembly of processed fragments, each of which is designed to -# capture a specific part of the final configuration (e.g. platform -# configuration, feature configuration, and board specific hardware -# configuration). For more information on u-boot configuration, please -# refer the product documentation. -# -#....................................................................... - -# -# Definitions for Generic Microbalze machine. -# -CONFIG_BOOTDELAY=4 -CONFIG_SYS_TEXT_BASE=0x80100000 -CONFIG_SYS_PROMPT="U-Boot>" -CONFIG_SYS_CONFIG_NAME="microblaze-generic-top" -CONFIG_BOOT_SCRIPT_OFFSET=0x1F00000 -# CONFIG_SYS_NS16550 is not set -# CONFIG_SYS_FLASH_USE_BUFFER_WRITE is not set -# CONFIG_SYS_FLASH_CFI is not set -# CONFIG_FLASH_CFI_DRIVER is not set -# CONFIG_CMD_FLASH is not set -# CONFIG_CMD_IMLS is not set -# CONFIG_MTD_NOR_FLASH is not set -# CONFIG_MTD_DEVICE is not set -# CONFIG_SYS_FLASH_PROTECTION is not set -# CONFIG_SPI_FLASH_SST is not set -# CONFIG_XILINX_EMACLITE is not set -# CONFIG_PHY_VITESSE is not set -# CONFIG_CMD_EXT2 is not set -# CONFIG_CMD_EXT4 is not set -# CONFIG_CMD_EXT4_WRITE is not set -# CONFIG_CMD_FAT is not set -# CONFIG_DOS_PARTITION is not set -# CONFIG_FAT_WRITE is not set -CONFIG_DM=y -CONFIG_SYS_MALLOC_F=y -CONFIG_XILINX_UARTLITE=y -CONFIG_XILINX_AXIEMAC=y -CONFIG_PHY_XILINX=y -CONFIG_PHY_TI=y -CONFIG_NET=y -CONFIG_PHY_GIGE=y -CONFIG_NETDEVICES=y -CONFIG_CMD_NET=y -CONFIG_DM_ETH=y -CONFIG_CMD_PING=y -CONFIG_CMD_DHCP=y -CONFIG_PHYLIB=y -CONFIG_CMD_TFTPPUT=y -CONFIG_CMD_NFS=y -CONFIG_CMD_MII=y -CONFIG_PHY_MARVELL=y -CONFIG_PHY_REALTEK=y -CONFIG_PHY_NATSEMI=y -CONFIG_XILINX_SPI=y -CONFIG_CMD_SPI=y -CONFIG_CMD_SF=y -CONFIG_SPI_FLASH=y -CONFIG_SPI_FLASH_BAR=y -CONFIG_DM_SPI_FLASH=y -CONFIG_DM_SPI=y -CONFIG_SPI_FLASH_SPANSION=y -CONFIG_SPI_FLASH_STMICRO=y -CONFIG_SPI_FLASH_WINBOND=y -CONFIG_SPI_FLASH_MACRONIX=y -CONFIG_SPI=y -CONFIG_SPI_FLASH_ISSI=y -# CONFIG_BOOTARGS is not set -# CONFIG_USE_BOOTARGS is not set -# CONFIG_SPL is not set -# CONFIG_I2C_EEPROM is not set -# CONFIG_CMD_EEPROM is not set -# CONFIG_SYS_I2C_EEPROM_ADDR is not set -# CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW is not set diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.1.inc deleted file mode 100644 index fd51561a..00000000 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.1.inc +++ /dev/null @@ -1,17 +0,0 @@ -UBOOT_VERSION = "v2023.01" - -UBRANCH = "xlnx_rebase_v2023.01" - -SRCREV = "8624651f9ae49d326e29d9ec9a80a881a769640a" - -LICENSE = "GPL-2.0-or-later" -LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" - -# u-boot-xlnx has support for these -HAS_PLATFORM_INIT ?= " \ - xilinx_zynqmp_virt_config \ - xilinx_zynq_virt_defconfig \ - xilinx_versal_vc_p_a2197_revA_x_prc_01_revA \ - " - -DEPENDS += "bc-native dtc-native python3-setuptools-native gnutls-native" diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2023.1.bb b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2023.1.bb deleted file mode 100644 index fd76bc51..00000000 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2023.1.bb +++ /dev/null @@ -1,4 +0,0 @@ - -require u-boot-xlnx.inc -require u-boot-spl-zynq-init.inc -require u-boot-xlnx-2023.1.inc -- cgit v1.2.3-54-g00ecf From 6b12ae9db654d79c710a7e1da2a0188c6b6a0bee Mon Sep 17 00:00:00 2001 From: John Toomey Date: Mon, 12 Feb 2024 16:44:00 +0000 Subject: u-boot: Update version to 2024.01 Switch to latest commit on release branch. Also remove unused microblaze header file for 2024.1 release. Signed-off-by: John Toomey Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/layer.conf | 2 +- .../u-boot/u-boot-v2024.01/microblaze-generic.cfg | 83 ++++++++++++++++++++++ .../recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc | 6 ++ .../recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 6 +- .../recipes-bsp/u-boot/u-boot-xlnx-microblaze.inc | 5 -- 5 files changed, 93 insertions(+), 9 deletions(-) create mode 100644 meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2024.01/microblaze-generic.cfg diff --git a/meta-xilinx-core/conf/layer.conf b/meta-xilinx-core/conf/layer.conf index 80a52452..9bc6c4a1 100644 --- a/meta-xilinx-core/conf/layer.conf +++ b/meta-xilinx-core/conf/layer.conf @@ -65,7 +65,7 @@ PREFERRED_VERSION_arm-trusted-firmware ?= "${@d.getVarFlag('XILINX_ATF_VERSION', XILINX_UBOOT_VERSION[v2023.1] = "v2023.01-xilinx-v2023.1%" XILINX_UBOOT_VERSION[v2023.2] = "v2023.01-xilinx-v2023.2%" -XILINX_UBOOT_VERSION[v2024.1] = "v2023.01-xilinx-v2024.1%" +XILINX_UBOOT_VERSION[v2024.1] = "v2024.01-xilinx-v2024.1%" PREFERRED_VERSION_u-boot-xlnx ?= "${@d.getVarFlag('XILINX_UBOOT_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" PREFERRED_VERSION_u-boot-tools-xlnx ?= "${@d.getVarFlag('XILINX_UBOOT_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2024.01/microblaze-generic.cfg b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2024.01/microblaze-generic.cfg new file mode 100644 index 00000000..033fb197 --- /dev/null +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-v2024.01/microblaze-generic.cfg @@ -0,0 +1,83 @@ +# SPDX-License-Identifier: MIT + +#........................................................................ +# WARNING +# +# This file is a u-boot configuration fragment, and not a full u-boot +# configuration file. The final u-boot configuration is made up of +# an assembly of processed fragments, each of which is designed to +# capture a specific part of the final configuration (e.g. platform +# configuration, feature configuration, and board specific hardware +# configuration). For more information on u-boot configuration, please +# refer the product documentation. +# +#....................................................................... + +# +# Definitions for Generic Microbalze machine. +# +CONFIG_BOOTDELAY=4 +CONFIG_TEXT_BASE=0x80100000 +CONFIG_SYS_PROMPT="U-Boot>" +CONFIG_SYS_CONFIG_NAME="microblaze-generic" +CONFIG_BOOT_SCRIPT_OFFSET=0x1F00000 +# CONFIG_SYS_NS16550 is not set +# CONFIG_SYS_FLASH_USE_BUFFER_WRITE is not set +# CONFIG_SYS_FLASH_CFI is not set +# CONFIG_FLASH_CFI_DRIVER is not set +# CONFIG_CMD_FLASH is not set +# CONFIG_CMD_IMLS is not set +# CONFIG_MTD_NOR_FLASH is not set +# CONFIG_MTD_DEVICE is not set +# CONFIG_SYS_FLASH_PROTECTION is not set +# CONFIG_SPI_FLASH_SST is not set +# CONFIG_XILINX_EMACLITE is not set +# CONFIG_PHY_VITESSE is not set +# CONFIG_CMD_EXT2 is not set +# CONFIG_CMD_EXT4 is not set +# CONFIG_CMD_EXT4_WRITE is not set +# CONFIG_CMD_FAT is not set +# CONFIG_DOS_PARTITION is not set +# CONFIG_FAT_WRITE is not set +CONFIG_DM=y +CONFIG_SYS_MALLOC_F=y +CONFIG_XILINX_UARTLITE=y +CONFIG_XILINX_AXIEMAC=y +CONFIG_PHY_XILINX=y +CONFIG_PHY_TI=y +CONFIG_NET=y +CONFIG_PHY_GIGE=y +CONFIG_NETDEVICES=y +CONFIG_CMD_NET=y +CONFIG_DM_ETH=y +CONFIG_CMD_PING=y +CONFIG_CMD_DHCP=y +CONFIG_PHYLIB=y +CONFIG_CMD_TFTPPUT=y +CONFIG_CMD_NFS=y +CONFIG_CMD_MII=y +CONFIG_PHY_MARVELL=y +CONFIG_PHY_REALTEK=y +CONFIG_PHY_NATSEMI=y +CONFIG_XILINX_SPI=y +CONFIG_CMD_SPI=y +CONFIG_CMD_SF=y +CONFIG_SPI_FLASH=y +CONFIG_SPI_FLASH_BAR=y +CONFIG_DM_SPI_FLASH=y +CONFIG_DM_SPI=y +CONFIG_SPI_FLASH_SPANSION=y +CONFIG_SPI_FLASH_STMICRO=y +CONFIG_SPI_FLASH_WINBOND=y +CONFIG_SPI_FLASH_MACRONIX=y +CONFIG_SPI=y +CONFIG_SPI_FLASH_ISSI=y +# CONFIG_BOOTARGS is not set +# CONFIG_USE_BOOTARGS is not set +# CONFIG_SPL is not set +# CONFIG_I2C_EEPROM is not set +# CONFIG_CMD_EEPROM is not set +# CONFIG_SYS_I2C_EEPROM_ADDR is not set +# CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW is not set +CONFIG_DCACHE=y +CONFIG_ICACHE=y diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc index 0cfbd846..cab39159 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc @@ -15,3 +15,9 @@ HAS_PLATFORM_INIT ?= " \ " DEPENDS += "bc-native dtc-native python3-setuptools-native gnutls-native" + +SRC_URI:append:microblaze = "file://microblaze-generic-top.h" + +do_configure:prepend:microblaze () { + install ${WORKDIR}/microblaze-generic-top.h ${S}/include/configs/ +} diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index ba814bd4..649b2424 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -1,8 +1,8 @@ -UBOOT_VERSION = "v2023.01" +UBOOT_VERSION = "v2024.01" -UBRANCH = "master" +UBRANCH = "xlnx_rebase_v2024.01" -SRCREV = "695bea48fc8367567058782fe3b936d8aa6bebd8" +SRCREV = "88e4ca57b376e1a3a4c2881d8e6dcb41c047aa22" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-microblaze.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-microblaze.inc index 2ef7b9cf..1f6781b6 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-microblaze.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-microblaze.inc @@ -1,11 +1,6 @@ SRC_URI += " \ file://microblaze-generic.cfg \ - file://microblaze-generic-top.h \ " -do_configure:prepend () { - install ${WORKDIR}/microblaze-generic-top.h ${S}/include/configs/ -} - # Disable buildpaths QA check warnings for u-boot-xlnx.elf. INSANE_SKIP:${PN}-elf += "buildpaths" -- cgit v1.2.3-54-g00ecf From 249c6a1e222f4c5c44f457b4ebc1523ddf8eaa66 Mon Sep 17 00:00:00 2001 From: saumya garg Date: Mon, 12 Feb 2024 11:33:15 +0530 Subject: xrt, zocl: Update commit id Changelog: Removed support for u50lv, u55n and u280 platforms in XRT (#7901) fixed sw pipeline issue (#7941) Add code owners for hip and fix code owners for tests (#7937) Change "IPU" to "NPU" in adaptor name lookup (#7938) add bind_at() SHIM API (#7934) Add hotfix for Linux xbutil validation implementation (#7931) VITIS-11275 Add support for telemetry report in XRT core (#7921) Updated Const Correctness and Variable names in AIE Profile (#7924) check exit code in apu package creation (#7925) fixed compile error (#7923) VITIS-11106 Remove --device requirement for single device system (#7902) Issue-7911 Fix clang issues with query requests (#7916) CR-1182298: Fixing seg fault on edge when aie_status is enabled (#7917) Updated Struct Data types in XDP codebase (#7895) fix windows build (#7920) Removed PETA_BIN variable from build_edge.sh as the path does not exist (#7918) upadte xbutil validate paths for xclbins (#7919) Initial support for tracing DMA events in AIE tile memory modules (#7859) Fixed error in build (#7907) CR-1187827 Fix bad BDF not displaying list of device options (#7905) VITIS-11233 Add firmware version to Ryzen platform report (#7903) VITIS-9658 Update SubCmdValidate test run output (#7889) Remove drm_driver.gem_prime_mmap for Linux 6.6 (#7899) Changed all names from XDP_MINIMAL_BUILD to XDP_CLIENT_BUILD (#7893) Added all the OSs supported by XRT in os_supported.json file (#7877) VITIS-10245 Prevent validation tests from creating additional device instances (#7891) Remove dead code (#7898) integrate tct 1 column test (#7887) Create common utilities folder for XDP plugins that use the AIE driver (#7866) Signed-off-by: saumya garg Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-xrt/xrt/xrt.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc index 35235de0..1941d633 100644 --- a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc @@ -3,8 +3,8 @@ BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != ' SRC_URI = "${REPO};${BRANCHARG};name=xrt" BRANCH= "master" -SRCREV_xrt = "22150929f8c3c19b514a515168fce1797db7f28c" -PV = "202320.2.16.0" +SRCREV_xrt = "41f4221433c6b173316b61cb2e7e3ee5152d8075" +PV = "202320.2.17.0" SRC_URI += "git://github.com/Xilinx/dma_ip_drivers.git;branch=master;name=dma_ip_drivers;destsuffix=git/src/runtime_src/core/pcie/driver/linux/xocl/lib/libqdma;protocol=https" SRCREV_dma_ip_drivers = "9f02769a2eddde008158c96efa39d7edb6512578" -- cgit v1.2.3-54-g00ecf From 6237d8c1fd0940dceb2d11d7ca20e3a284053f4a Mon Sep 17 00:00:00 2001 From: Ben Levinsky Date: Fri, 9 Feb 2024 08:00:49 -0800 Subject: meta-xilinx-standalone-experimental: open-amp: pick up multiconfig recipe Update to use latest open-amp and MC recipe. Signed-off-by: Ben Levinsky Signed-off-by: Mark Hatle --- .../recipes-openamp/open-amp/open-amp-xlnx_%.bbappend | 1 + meta-xilinx-standalone/conf/distro/xilinx-standalone.inc | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 meta-xilinx-standalone-experimental/recipes-openamp/open-amp/open-amp-xlnx_%.bbappend diff --git a/meta-xilinx-standalone-experimental/recipes-openamp/open-amp/open-amp-xlnx_%.bbappend b/meta-xilinx-standalone-experimental/recipes-openamp/open-amp/open-amp-xlnx_%.bbappend new file mode 100644 index 00000000..88b45295 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-openamp/open-amp/open-amp-xlnx_%.bbappend @@ -0,0 +1 @@ +require ${LAYER_PATH_openamp-layer}/vendor/xilinx/meta-xilinx-standalone-experimental/recipes-openamp/open-amp/open-amp-xlnx.inc diff --git a/meta-xilinx-standalone/conf/distro/xilinx-standalone.inc b/meta-xilinx-standalone/conf/distro/xilinx-standalone.inc index e38342b5..4d591707 100644 --- a/meta-xilinx-standalone/conf/distro/xilinx-standalone.inc +++ b/meta-xilinx-standalone/conf/distro/xilinx-standalone.inc @@ -29,8 +29,7 @@ COMPATIBLE_HOST ?= "${COMPATOS}" # Clear defaults PREFERRED_PROVIDER_virtual/kernel = "linux-dummy" PREFERRED_PROVIDER_libmetal = "libmetal-xlnx" - -PREFERRED_VERSION_open-amp-xlnx = "${@'standalone' if 'xilinx-standalone-exp' in d.getVar('BBFILE_COLLECTIONS').split() else ''}" +PREFERRED_PROVIDER_open-amp = "open-amp-xlnx" # Workaround for pulling in nativesdk-mingw-w64-winpthreads TOOLCHAIN_HOST_TASK:append:sdkmingw32 = " nativesdk-mingw-w64-winpthreads" -- cgit v1.2.3-54-g00ecf From 1b2f9040a4cd3a9bd028d95a55f9e2e31f3a3561 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 14 Feb 2024 17:44:55 +0530 Subject: aie-rt : Updated SRCREV for 2024.1_9267 misc: xilinx-ai-engine: Fixed error prints in status dump driver/src: Fix _XAie_SetPartIsolationAfterRst function prototype --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index c6306d55..4a99a5b0 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "main-aie" -SRCREV ?= "a2c199110d92aa35ec4de7fe35332ac668bf668e" +SRCREV ?= "6c858c6eff71b6b5ca129777d5094b77757298d2" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From e2695ca2050868aa412cc2b8c0a37e2c071bf67b Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 14 Feb 2024 17:44:27 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_1195 dfemix: Support Baremetal SDT Yocto Flow sysmonpsu: Support Baremetal SDT Yocto Flow sw_services:xilplmi: XilNvm & XilPuf Enable by Default xilffs: Fix build failure when XILFFS_use_strfunc is enabled --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 24222f80..98acc05b 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "77a32db3129d7da8951bb44bcd929dfa57a34508" +ESW_REV[2024.1] = "9957d310871af8fbae69bfdc6982715bfc57ca87" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From e953d1afc7d8c71a7ad04b809232deadbc94ec81 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 15 Feb 2024 16:23:33 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_8451 xilpm: Add additional secure lockdown support lib: sw_apps: openamp: sdt: Update to use latest Lopper and OpenAMP Repo xilloader : Update XLoader_ReadAndValidateHdrs prototype freertos10_xilinx: Port FreeRTOS interrupt example to SDT flow freertos10_xilinx: ARM_CA9: Add support for xiltimer and SDT freertos10_xilinx: ARM_CR5: Update data type for ucInterruptID sw_services: xilsecure: Update CMakeLists.txt for new files scripts:library_utils: Add silent discard option while validating library against BSP sw_services: updated return type for IsCryptoKatEn and IsFipsModeEn xilplmi: optimized u8 variables xilloader: optimized u8 variables sysmonpsv: Added SSIT Support dfeofdm: Support Baremetal SDT Yocto Flow sysmon: Support Baremetal SDT Yocto Flow --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 98acc05b..30b65faf 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" -ESW_REV[2024.1] = "9957d310871af8fbae69bfdc6982715bfc57ca87" +ESW_REV[2024.1] = "754a400b26b5f19f7f504a908a5724076548f92c" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From ca6cd538ba2c091c3d94508c82973d8c110685d9 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 15 Feb 2024 18:54:56 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_6887 Updated commit ID to latest HEAD --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index 649b2424..87a6c7ba 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2024.01" UBRANCH = "xlnx_rebase_v2024.01" -SRCREV = "88e4ca57b376e1a3a4c2881d8e6dcb41c047aa22" +SRCREV = "92f6c9f98874b36c1acccdfaa3d4874b99be9566" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From 5b8c2e0ee565a384723ed5785abfac35bc167688 Mon Sep 17 00:00:00 2001 From: Sharath Kumar Dasari Date: Tue, 13 Feb 2024 10:37:10 +0530 Subject: xlnx-embeddedsw: Update 2023.2 branch to xlnx_rel_v2023.2_update System controller SC_update6 candidate release image is 2023.2 yocto based image which needs changes backported from ESW master to xlnx_rel_v2023.2_update branch Signed-off-by: Sharath Kumar Dasari Signed-off-by: Mark Hatle (cherry picked from commit 63a77a8627b431dbaf014258ce87aa9ed571b07c) Signed-off-by: Mark Hatle --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 30b65faf..5e5c5415 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -5,13 +5,13 @@ REPO ??= "git://github.com/Xilinx/embeddedsw.git;protocol=https" ESW_BRANCH[git] = "master" ESW_BRANCH[2023.1] = "xlnx_rel_v2023.1_update" -ESW_BRANCH[2023.2] = "xlnx_rel_v2023.2" +ESW_BRANCH[2023.2] = "xlnx_rel_v2023.2_update" ESW_BRANCH[2024.1] = "master-next" BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" -ESW_REV[2023.2] = "c9a0ee31b2a14cbcfcb56ca369037319b4ad4847" +ESW_REV[2023.2] = "73f0904e41cc109f18bb19a5329d0e5a66af2434" ESW_REV[2024.1] = "754a400b26b5f19f7f504a908a5724076548f92c" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" @@ -21,7 +21,7 @@ EMBEDDEDSW_SRCURI ?= "${REPO};${EMBEDDEDSW_BRANCHARG}" LICENSE = "MIT" LIC_FILES_CHKSUM[master] = '9fceecdbcad88698f265578f3d4cb26c' LIC_FILES_CHKSUM[xlnx_rel_v2023.1_update] = '3c310a3ee2197a4c92c6a0e2937c207c' -LIC_FILES_CHKSUM[xlnx_rel_v2023.2] = '9fceecdbcad88698f265578f3d4cb26c' +LIC_FILES_CHKSUM[xlnx_rel_v2023.2_update] = '9fceecdbcad88698f265578f3d4cb26c' LIC_FILES_CHKSUM[master-next] = '9fceecdbcad88698f265578f3d4cb26c' LIC_FILES_CHKSUM ??= "file://license.txt;md5=${@d.getVarFlag('LIC_FILES_CHKSUM', d.getVar('BRANCH')) or '0'}" -- cgit v1.2.3-54-g00ecf From 17f3e71b1c78a255ef1db7336bcd96539ffafe93 Mon Sep 17 00:00:00 2001 From: Sharath Kumar Dasari Date: Tue, 13 Feb 2024 10:51:24 +0530 Subject: linux-image_update: Update xlnx_rel_v2023.2 branch to master Updated branch to master which has changes to support both boards SC/Kria-SOM Signed-off-by: Sharath Kumar Dasari Signed-off-by: Mark Hatle (cherry picked from commit 83a5f29420bf7c2cf627ebfdd39b17aa73c8548d) Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-apps/image-update/image-update_1.1.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-core/recipes-apps/image-update/image-update_1.1.bb b/meta-xilinx-core/recipes-apps/image-update/image-update_1.1.bb index db518b2c..f7e18273 100644 --- a/meta-xilinx-core/recipes-apps/image-update/image-update_1.1.bb +++ b/meta-xilinx-core/recipes-apps/image-update/image-update_1.1.bb @@ -6,9 +6,9 @@ SUMMARY = "Image update is used to update alternate image on compatible firmware LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${WORKDIR}/git/LICENSES/MIT;md5=2ac09a7a37dd6ee0ba23ce497d57d09b" -BRANCH = "xlnx_rel_v2023.2" +BRANCH = "master" SRC_URI = "git://github.com/Xilinx/linux-image_update.git;branch=${BRANCH};protocol=https" -SRCREV = "4f0b7b1b20933ddc454124fc3472f1b8894ddf08" +SRCREV = "a68308f329578d3585fd335071a9184aa7f46d2e" RDEPENDS:${PN} += "freeipmi" -- cgit v1.2.3-54-g00ecf From 266e7242b131afa99bf17364d3e83184e3e352e9 Mon Sep 17 00:00:00 2001 From: Appana Durga Kedareswara rao Date: Wed, 14 Feb 2024 16:33:15 +0530 Subject: lopper: Update srcrev for 2024.1 Below are the updates assists: remove overly verbose output assists/domain_access: count indirect references assists/isospec: output cpu specific label assists/domain_access: fix memory node -> address-map updating yaml: update version check to use packaging module assists: baremetal_xparameters_xlnx: Export MB V cpu parameters related defines Signed-off-by: Appana Durga Kedareswara rao Signed-off-by: Mark Hatle --- .../virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend index 33898dc3..46346241 100644 --- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend @@ -1,5 +1,5 @@ SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=master;protocol=https" -SRCREV = "4af6ecdf4af8904294b5fcc8a94562c9096f7106" +SRCREV = "843a5ea9c745e61c00a64ff602a5fae67914ecb2" FILESEXTRAPATHS:prepend := "${THISDIR}/lopper:" -- cgit v1.2.3-54-g00ecf From e1a06225a7e7058f9916c94650fa2b888f4d5bb2 Mon Sep 17 00:00:00 2001 From: Ben Levinsky Date: Wed, 14 Feb 2024 09:06:58 -0800 Subject: meta-xilinx-standalone-experimental: open-amp: Add openamp-fw* port Port openamp-fw recipes to use open-amp-xlnx MC recipe Signed-off-by: Ben Levinsky Signed-off-by: Mark Hatle --- .../openamp-fw/openamp-fw-echo-testd.bb | 6 +++++ .../openamp-fw/openamp-fw-mat-muld.bb | 6 +++++ .../openamp-fw/openamp-fw-rpc-demo.bb | 9 ++++++++ .../recipes-applications/openamp-fw/openamp-fw.inc | 27 ++++++++++++++++++++++ 4 files changed, 48 insertions(+) create mode 100644 meta-xilinx-standalone-experimental/recipes-applications/openamp-fw/openamp-fw-echo-testd.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-applications/openamp-fw/openamp-fw-mat-muld.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-applications/openamp-fw/openamp-fw-rpc-demo.bb create mode 100644 meta-xilinx-standalone-experimental/recipes-applications/openamp-fw/openamp-fw.inc diff --git a/meta-xilinx-standalone-experimental/recipes-applications/openamp-fw/openamp-fw-echo-testd.bb b/meta-xilinx-standalone-experimental/recipes-applications/openamp-fw/openamp-fw-echo-testd.bb new file mode 100644 index 00000000..58f08bf2 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-applications/openamp-fw/openamp-fw-echo-testd.bb @@ -0,0 +1,6 @@ +require openamp-fw.inc + +PROVIDES:append:armv7r = " openamp-fw-echo-testd " + +OPENAMP_FW_SRC_NAME = "rpmsg-echo.out" +OPENAMP_FW_NAME = "image_echo_test" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/openamp-fw/openamp-fw-mat-muld.bb b/meta-xilinx-standalone-experimental/recipes-applications/openamp-fw/openamp-fw-mat-muld.bb new file mode 100644 index 00000000..c8d4382d --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-applications/openamp-fw/openamp-fw-mat-muld.bb @@ -0,0 +1,6 @@ +require openamp-fw.inc + +PROVIDES:append:armv7r = " openamp-fw-mat-muld " + +OPENAMP_FW_SRC_NAME = "matrix_multiplyd.out" +OPENAMP_FW_NAME = "image_matrix_multiply" diff --git a/meta-xilinx-standalone-experimental/recipes-applications/openamp-fw/openamp-fw-rpc-demo.bb b/meta-xilinx-standalone-experimental/recipes-applications/openamp-fw/openamp-fw-rpc-demo.bb new file mode 100644 index 00000000..4efdb4c6 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-applications/openamp-fw/openamp-fw-rpc-demo.bb @@ -0,0 +1,9 @@ +require openamp-fw.inc + +PROVIDES:append:armv7r = " openamp-fw-rpc-demo " + +OPENAMP_FW_SRC_NAME = "rpc_demo.out" +OPENAMP_FW_NAME = "image_rpc_demo" +OPENAMP_WITH_PROXY = "ON" + +# NOTE: BSP should have flag ESW_CFLAGS:append = " -DUNDEFINE_FILE_OPS=1 " diff --git a/meta-xilinx-standalone-experimental/recipes-applications/openamp-fw/openamp-fw.inc b/meta-xilinx-standalone-experimental/recipes-applications/openamp-fw/openamp-fw.inc new file mode 100644 index 00000000..dec27313 --- /dev/null +++ b/meta-xilinx-standalone-experimental/recipes-applications/openamp-fw/openamp-fw.inc @@ -0,0 +1,27 @@ +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" +LICENSE = "MIT" +INSANE_SKIP:${PN} = "arch" + +FW_LIB_DIR = "/lib/firmware" + +OPENAMP_FW_SRC_NAME ?= "rpmsg-echo.out" +OPENAMP_FW_NAME ?= "image_echo_test" + +FW_MACHINE:zynqmp = "cortexr5-0-zynqmp" +FW_MACHINE:versal = "cortexr5-0-versal" +FW_MACHINE:versal-net = "cortexr52-0-versal-net" +FW_OS ?= "baremetal" + +OPENAMP_FW_DEPLOY_DIR ?= "${BASE_TMPDIR}/tmp-${FW_MACHINE}-${FW_OS}/deploy/images/${MACHINE}" +DEPENDS = " open-amp-xlnx " +do_install[mcdepends] += "mc::${FW_MACHINE}-${FW_OS}:open-amp-xlnx:do_deploy" +do_install() { + install -d ${D}${FW_LIB_DIR} + src=${OPENAMP_FW_DEPLOY_DIR}/${OPENAMP_FW_SRC_NAME} + dest=${D}${FW_LIB_DIR}/${OPENAMP_FW_NAME} + install -m 0644 ${src} ${dest} +} + +do_compile[noexec] = "1" + +FILES:${PN} = "/lib/firmware/${OPENAMP_FW_NAME}" -- cgit v1.2.3-54-g00ecf From a817bdeecff602893f329f9f615dd7eea83a537d Mon Sep 17 00:00:00 2001 From: Ben Levinsky Date: Wed, 14 Feb 2024 09:06:59 -0800 Subject: open-amp-xlnx: Updated SRCREV apps: zynqmp_r5: Versal NET: Update linker script for booting Signed-off-by: Ben Levinsky Signed-off-by: Mark Hatle --- .../openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb index c9da3ba9..e678693a 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb @@ -1,5 +1,5 @@ SRCBRANCH ?= "2024" -SRCREV = "a1051bf31a494c979b9a92cd371500239a986063" +SRCREV = "09877b69bd98e363c34a7e3030e4ab5391b1baf9" BRANCH = "2024" LIC_FILES_CHKSUM ?= "file://LICENSE.md;md5=ab88daf995c0bd0071c2e1e55f3d3505" PV = "${SRCBRANCH}+git${SRCPV}" -- cgit v1.2.3-54-g00ecf From f2751c0d37b2dbd2802f92031557225349b61600 Mon Sep 17 00:00:00 2001 From: Ben Levinsky Date: Wed, 14 Feb 2024 10:44:34 -0800 Subject: meta-xilinx-core: openamp: device-tree: zynqmp: Update RPU1 Message buffers Construct buffers to be for PL1 on APU to RPU1 IPI Signed-off-by: Ben Levinsky Signed-off-by: Mark Hatle --- .../recipes-bsp/device-tree/files/zynqmp-openamp.dtsi | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/zynqmp-openamp.dtsi b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/zynqmp-openamp.dtsi index 55949e64..09961ccd 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/zynqmp-openamp.dtsi +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/zynqmp-openamp.dtsi @@ -143,10 +143,10 @@ ranges; /* APU<->RPU1 IPI mailbox controller */ ipi_mailbox_rpu1: mailbox@ff3f0b00 { - reg = <0xff3f0b00 0x20>, - <0xff3f0b20 0x20>, - <0xff3f0940 0x20>, - <0xff3f0960 0x20>; + reg = <0xff991880 0x20>, + <0xff991880 0x20>, + <0xff990e00 0x20>, + <0xff990e20 0x20>; reg-names = "local_request_region", "local_response_region", "remote_request_region", -- cgit v1.2.3-54-g00ecf From 551af849726c8e17f994ae0f53faf21ecac85305 Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Fri, 16 Feb 2024 12:30:11 +0530 Subject: Updated Commit ID lib:gen-machineconf: Remove MEMORY configs if HW file changed --- meta-xilinx-core/gen-machine-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf index 3d277a3e..cdd3c454 160000 --- a/meta-xilinx-core/gen-machine-conf +++ b/meta-xilinx-core/gen-machine-conf @@ -1 +1 @@ -Subproject commit 3d277a3e1d2676ce6a83e2dcb8d96a65924cc8af +Subproject commit cdd3c454e9f90a4a1d28ced484b31575d866a730 -- cgit v1.2.3-54-g00ecf From b7408b1db0bd3b655d8d6ed216b731809f3f0538 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Sun, 18 Feb 2024 12:57:14 +0530 Subject: aie-rt : Updated SRCREV for 2024.1_1423 Updated commit ID to latest HEAD --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index 4a99a5b0..12d53e84 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "main-aie" -SRCREV ?= "6c858c6eff71b6b5ca129777d5094b77757298d2" +SRCREV ?= "30f637e7e225564fa667dde2549903214bddeed7" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From cc276d838afd518d04f12d341a60e4bf40980b7c Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Sun, 18 Feb 2024 12:59:34 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_7771 Updated commit ID to latest HEAD --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index 87a6c7ba..a58d05fe 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2024.01" UBRANCH = "xlnx_rebase_v2024.01" -SRCREV = "92f6c9f98874b36c1acccdfaa3d4874b99be9566" +SRCREV = "bcbc56ee141ed4a3fc1b119a10abba7a0a0b6fde" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From 9f4f70b56b3410b48c600ca8629a2b343f687f83 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Sun, 18 Feb 2024 12:47:12 +0530 Subject: xen : Updated SRCREV for 2024.1_6375 Updated commit ID to latest HEAD --- meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb b/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb index b404bb83..c802ac56 100644 --- a/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb +++ b/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb @@ -1,5 +1,5 @@ # tag: RELEASE-4.18.0 -SRCREV ?= "1bdd031859c1d0a792f670d58b473f08be54e255" +SRCREV ?= "1961ac1af6c800b19c09e3e2a9720c5c033a6217" XEN_URI ?= "git://xenbits.xen.org/xen.git" XEN_REL ?= "4.18" -- cgit v1.2.3-54-g00ecf From 0c94b3bfa19cd1a3f967821199ae1e50f77adf42 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 19 Feb 2024 12:46:55 +0530 Subject: dts : Updated SRCREV for 2024.1_8439 Updated commit ID to latest HEAD --- meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb index deec70a4..e7213a71 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb @@ -2,5 +2,5 @@ require qemu-devicetrees.inc BRANCH ?= "master" -SRCREV ?= "856d4a3e891271cf4e752d8ea1e8c075bb7dbc2a" +SRCREV ?= "395c4b89b9c89e81600d528fa70e5751eb3de253" -- cgit v1.2.3-54-g00ecf From eec38b027b1d8b898069ef53a2c1de5a882f9e82 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 19 Feb 2024 12:46:23 +0530 Subject: qemu : Updated SRCREV for 2024.1_9539 Updated commit ID to latest HEAD --- meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc index c84b973f..9a919cf1 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc @@ -1,3 +1,3 @@ XILINX_QEMU_VERSION = "v8.1.0" BRANCH = "master" -SRCREV = "1f1417f921f9698d16e28c297302f4296b9c8cb3" +SRCREV = "fa9f860d86de6a5ab520d1fa17ee196117f5a7f5" -- cgit v1.2.3-54-g00ecf From 18fa381c4d126ee66e4efc96efb94a6979d4a38c Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 19 Feb 2024 17:40:28 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_1483 Updated commit ID to latest HEAD --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 5e5c5415..f6279658 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "73f0904e41cc109f18bb19a5329d0e5a66af2434" -ESW_REV[2024.1] = "754a400b26b5f19f7f504a908a5724076548f92c" +ESW_REV[2024.1] = "4a567e7c2085c8c117077556cd57ced406b9fa77" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From e0ff1384c15eeb833a94757303fb2491dad71a11 Mon Sep 17 00:00:00 2001 From: Ben Levinsky Date: Thu, 15 Feb 2024 06:57:46 -0800 Subject: meta-xilinx-core: openamp: device-tree: zynqmp: Correct buffer offsets for PL1 Ensure that IPI message buffers work for RPU application by using correct destination buffer offsets Signed-off-by: Ben Levinsky Signed-off-by: Mark Hatle --- .../recipes-bsp/device-tree/files/zynqmp-openamp.dtsi | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/zynqmp-openamp.dtsi b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/zynqmp-openamp.dtsi index 09961ccd..8ef72656 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/zynqmp-openamp.dtsi +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-bsp/device-tree/files/zynqmp-openamp.dtsi @@ -142,11 +142,11 @@ #size-cells = <1>; ranges; /* APU<->RPU1 IPI mailbox controller */ - ipi_mailbox_rpu1: mailbox@ff3f0b00 { - reg = <0xff991880 0x20>, - <0xff991880 0x20>, - <0xff990e00 0x20>, - <0xff990e20 0x20>; + ipi_mailbox_rpu1: mailbox@ff990800 { + reg = <0xff990800 0x20>, + <0xff990820 0x20>, + <0xff990200 0x20>, + <0xff990220 0x20>; reg-names = "local_request_region", "local_response_region", "remote_request_region", -- cgit v1.2.3-54-g00ecf From ae99cd13a72a019b498d2aac45210b6396987da3 Mon Sep 17 00:00:00 2001 From: Appana Durga Kedareswara rao Date: Fri, 16 Feb 2024 21:45:24 +0530 Subject: lopper: Update srcrev for 2024.1 Below are the updates lopper: assists: Add special handling for xdma pcie lopper:assists:baremetal*: Correct the steps to construct a 64 bit value from 2 32-bit cells assists/domain_access: update start and size of memory Signed-off-by: Appana Durga Kedareswara rao Signed-off-by: Mark Hatle --- .../virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend index 46346241..3afb0370 100644 --- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend @@ -1,5 +1,5 @@ SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=master;protocol=https" -SRCREV = "843a5ea9c745e61c00a64ff602a5fae67914ecb2" +SRCREV = "d6eedf24172dcdd3bedb2e4824dcb25d8ee3ed34" FILESEXTRAPATHS:prepend := "${THISDIR}/lopper:" -- cgit v1.2.3-54-g00ecf From 23d14b08edf7563aa2ba67cb86c2e4ccf18b13c4 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 20 Feb 2024 12:47:21 +0530 Subject: xen : Updated SRCREV for 2024.1_4015 Updated commit ID to latest HEAD --- meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb b/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb index c802ac56..8cbbfdc1 100644 --- a/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb +++ b/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb @@ -1,5 +1,5 @@ # tag: RELEASE-4.18.0 -SRCREV ?= "1961ac1af6c800b19c09e3e2a9720c5c033a6217" +SRCREV ?= "6894777e44a5e64fc9bedef1403c41bf45312b7f" XEN_URI ?= "git://xenbits.xen.org/xen.git" XEN_REL ?= "4.18" -- cgit v1.2.3-54-g00ecf From bff516f3c4182c296f19a8f3faf4cadcadbb54cf Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 20 Feb 2024 12:46:47 +0530 Subject: dts : Updated SRCREV for 2024.1_1991 Updated commit ID to latest HEAD --- meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb index e7213a71..0d56fc4d 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb @@ -2,5 +2,5 @@ require qemu-devicetrees.inc BRANCH ?= "master" -SRCREV ?= "395c4b89b9c89e81600d528fa70e5751eb3de253" +SRCREV ?= "2bd480212f0e3bbb2aadfc0063bb6634dce9d0aa" -- cgit v1.2.3-54-g00ecf From 602de6f8f966d9ce4defd6b87a33edc520a6b5e0 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 20 Feb 2024 12:55:19 +0530 Subject: aie-rt : Updated SRCREV for 2024.1_7527 Updated commit ID to latest HEAD --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index 12d53e84..a45ecf99 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "main-aie" -SRCREV ?= "30f637e7e225564fa667dde2549903214bddeed7" +SRCREV ?= "a6e2fe31b0307fa952ac47108c4b8c869480bae7" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From cef0128ffb0352b1234f753f8e485fcb1229a82c Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 20 Feb 2024 12:54:50 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_5003 Updated commit ID to latest HEAD --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index f6279658..11556fad 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "73f0904e41cc109f18bb19a5329d0e5a66af2434" -ESW_REV[2024.1] = "4a567e7c2085c8c117077556cd57ced406b9fa77" +ESW_REV[2024.1] = "6e88dfcfcd113625d99327d3f6f598215d44ca38" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From bdd56c0769681077f6dfa3370fb8c53b91103a6e Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 20 Feb 2024 16:51:30 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_5079 Updated commit ID to latest HEAD --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index a58d05fe..ba264499 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2024.01" UBRANCH = "xlnx_rebase_v2024.01" -SRCREV = "bcbc56ee141ed4a3fc1b119a10abba7a0a0b6fde" +SRCREV = "ae663ed4f76ae6d208d72e6d5de0bf34339f224a" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From dc6632c886a3e5f84b9247e993115ffb6826d106 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 21 Feb 2024 12:47:14 +0530 Subject: xen : Updated SRCREV for 2024.1_2015 Updated commit ID to latest HEAD --- meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb b/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb index 8cbbfdc1..557c87e2 100644 --- a/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb +++ b/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb @@ -1,5 +1,5 @@ # tag: RELEASE-4.18.0 -SRCREV ?= "6894777e44a5e64fc9bedef1403c41bf45312b7f" +SRCREV ?= "72b27a92c09701017cb797dbc1e0c5c72aa073dc" XEN_URI ?= "git://xenbits.xen.org/xen.git" XEN_REL ?= "4.18" -- cgit v1.2.3-54-g00ecf From 118bb4a48854cbec18c5d9aa21cc35b87e7b563b Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 21 Feb 2024 17:41:27 +0530 Subject: linux-xlnx : Updated SRCREV for 2024.1_2495 EDAC/versal: Report the bit position of the error EDAC/versal: Do not send the cumulative values EDAC/versal: Add a NULL check for the user passed values EDAC/versal: Do not register for the NOC errors arm64: versal: Use iommu name for smmus arm64: versal: Remove second interrupt property for qspi/ospi arm64: versal: Remove unused xlnx,mc-id property arm64: versal: Align dmas with dt schema arm64: versal: Define 8 irqs for cci-500-pmu instead of 9 arm64: versal: Fix gic DT description arm64: versal: Fix cpu-opp-table name arm64: versal: Remove additional cpu property xilinx: dts: Update the reg names for ddrmc edac arm64: zynqmp: Fix kr260 clock wiring arm64: zynqmp: Sync clock labels with kr260 revB arm64: zynqmp: Describe 25MHz fixed clock for PL GEMs arm64: versal-net: Align interrupts for ipp-rev1.9 drivers: crypto: Return fallback values as true/false in versal fallback phy: xilinx-xhdmiphy: Disable dru_clk in error path phy: xilinx-xhdmiphy: Fix function return types media: i2c: Fix compilation issue for ap1302 isp driver dt-bindings: remoteproc: zynqmp_r5: Make sram property required only for Versal and ZynqMP remoteproc: zynqmp_r5: Versal NET: Enable R52 boot without TCM or OCM drm: xlnx: dp: Reset DisplayPort IP drivers: remoteproc: zynqmp: kick remote during detach EDAC/versal: Make the bit position of injected errors configurable dt-bindings: misc: xlnx,sd-fec: convert bindings to yaml remoteproc: Make rproc_get_by_phandle() work for clusters cdx: call of_node_put() on error path cdx: create resource debugfs file for cdx device cdx: add support for bus enable, disable and reset cdx: register cdx bus as a device on cdx subsystem and create symbol namespaces for cdx subsystem --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index bc1191b3..11ec1844 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.6.10" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.6;destsuffix=yocto-kmeta" KBRANCH="xlnx_rebase_v6.6_LTS" -SRCREV = "92a2357514286fbbdb8a16e52277f07deb91eaf9" +SRCREV = "2c37bbe14ceda0b170aa4b2516402aa9e04194de" SRCREV_meta = "5d0809d0d939c7738cb6e5391126c73fd0e4e865" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From d6b2c680d51e4bc1d25754d944e0fedd5b43261e Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 21 Feb 2024 17:39:22 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_8351 dfeequ: Support Baremetal SDT Yocto Flow mipicsiss: example: Fix bug in the selftest example sw_services:xilplmi:Logic for DDRMC Calib Check Skip dfeccf: Support Baremetal SDT Yocto Flow --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 11556fad..f7015802 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "73f0904e41cc109f18bb19a5329d0e5a66af2434" -ESW_REV[2024.1] = "6e88dfcfcd113625d99327d3f6f598215d44ca38" +ESW_REV[2024.1] = "398ccbf46b05c9c10ba48dcba96c5a136ba4e09c" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 93a5272bfeaab88dae3edf6d79eb0c5836f63fa5 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Mon, 19 Feb 2024 20:46:53 -0700 Subject: README: Fix SDT build instruction link Fix SDT Building Instructions link in README. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- docs/README.dfx.user.dts.md | 8 ++++---- docs/README.fw.package.md | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/README.dfx.user.dts.md b/docs/README.dfx.user.dts.md index e696aeb1..724c1692 100644 --- a/docs/README.dfx.user.dts.md +++ b/docs/README.dfx.user.dts.md @@ -283,8 +283,8 @@ SRC_URI = " \ 1. Follow SDT or XSCT Build instructions whichever build method is used but not both. - a. [SDT Building Instructions](../README.building.md) upto step 4. - b. [XSCT Building Instructions](../meta-xilinx-standalone-experimental/README.md) + a. [SDT Building Instructions](../meta-xilinx-standalone-experimental/README.md) upto step 4. + b. [XSCT Building Instructions](../README.building.md) upto step 4.b (With SDT overlay). 2. Create recipes-firmware directory in meta layer and copy the .bit/bin/pdi, .dtsi/dtbo, .json and .xclbin file to these directories. @@ -326,8 +326,8 @@ IMAGE_INSTALL:append = " \ ``` 6. Follow SDT or XSCT Build instructions whichever build method is used but not both. - a. [SDT Building Instructions](../README.building.md) and continue from step 5. - b. [XSCT Building Instructions](../meta-xilinx-standalone-experimental/README.md) + a. [SDT Building Instructions](../meta-xilinx-standalone-experimental/README.md ) and continue from step 5. + b. [XSCT Building Instructions](../README.building.md) and continue from step 5. 7. Once images are built firmware app files will be installed on target_rootfs. ``` diff --git a/docs/README.fw.package.md b/docs/README.fw.package.md index fc3c45ab..a7e54402 100644 --- a/docs/README.fw.package.md +++ b/docs/README.fw.package.md @@ -14,7 +14,7 @@ filesystem. ## How to create and install firmware package recipe -1. Follow [SDT Building Instructions](../README.building.md) upto step 4. +1. Follow [SDT Building Instructions](../meta-xilinx-standalone-experimental/README.md ) upto step 4. 2. Create recipes-firmware directory in distribution meta layer. ``` @@ -34,7 +34,7 @@ $ recipetool create -o /recipes-firmware//fir > recipe name. > * **TARGET_MC:** Variable to define one of the multiconfig target name > (ex: cortexr5-0-zynqmp-baremetal) from the BBMULTICONFIG list -> generated at [SDT Building Instructions](../README.building.md) +> generated at [SDT Building Instructions](../meta-xilinx-standalone-experimental/README.md ) > step 4. ``` @@ -57,5 +57,5 @@ IMAGE_INSTALL:append = " \ firmware-package-name \ " ``` -6. Follow [SDT Building Instructions](../README.building.md) and continue from +6. Follow [SDT Building Instructions](../meta-xilinx-standalone-experimental/README.md ) and continue from step 5. -- cgit v1.2.3-54-g00ecf From 9241ddb71c3f9a03fd3d573145548893efa21e8d Mon Sep 17 00:00:00 2001 From: Ben Levinsky Date: Tue, 20 Feb 2024 09:46:39 -0800 Subject: lopper: Update srcrev for 2024.1 Below are the updates ac63f30 openamp: xlnx: Add versal SOC's vhk158 and vek280 5b0289f lopper: assistes: Reduce dtb for sd-fec designs 6ce8ab4 lopper: assists: Enhance special proprety removal Signed-off-by: Ben Levinsky Signed-off-by: Mark Hatle --- .../virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend index 3afb0370..ec08c0e4 100644 --- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend @@ -1,5 +1,5 @@ SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=master;protocol=https" -SRCREV = "d6eedf24172dcdd3bedb2e4824dcb25d8ee3ed34" +SRCREV = "ac63f30a9432b189cee723b3b4783b2501e7e0ae" FILESEXTRAPATHS:prepend := "${THISDIR}/lopper:" -- cgit v1.2.3-54-g00ecf From f3fd690aeb059cf1ee5fd11df7fff596eb03d6d8 Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Thu, 22 Feb 2024 13:03:14 +0530 Subject: Updated Commit ID update_buildconf: Ignore errors looking for bitbake-layers project_config.py: Move all Kconfig generation to GenKconfigProj multiconfigs.py: Replace BASE_TMPDIR with MC_TMPDIR_PREFIX update_buildconf.py: No longer print the full BBMULTICONF list project_config.py: Move configuration file generation here multiconfigs: Adjust output to make it more clear gen-machineconf: Refactor SDT and XSCT flows sdt_flow.py: Use the hw_file path for args.psu_init_path default update_buildconf.py: Always output local.conf info update_buildconf.py: GenSdtConf use logger.plain for reference output gen-machineconf: Add additional exceptions to traceback yocto_machine.py:passing boot pdi Sync hardware info printing Make gen-machineconf capable of directly working with bitbake Move from various sys.exit(x) to raising exceptions lib: multiconfigs: Add support for domains generated by hardware design --- meta-xilinx-core/gen-machine-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf index cdd3c454..d0088429 160000 --- a/meta-xilinx-core/gen-machine-conf +++ b/meta-xilinx-core/gen-machine-conf @@ -1 +1 @@ -Subproject commit cdd3c454e9f90a4a1d28ced484b31575d866a730 +Subproject commit d0088429e1ab2ac110fe293902b98afe60005a60 -- cgit v1.2.3-54-g00ecf From 0ea7e42a731b32aa7a362da8843bbd4eaff14853 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 22 Feb 2024 12:46:13 +0530 Subject: qemu : Updated SRCREV for 2024.1_6723 hw/sd/sd: implement the sleep state hw/misc/xlnx-versal-pmc-iou-slcr: implement the USB power state regs hw/intc/arm_gicv3_redist: set the GICR_WAKER quiecent bit when asleep --- meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc index 9a919cf1..39c87b13 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc @@ -1,3 +1,3 @@ XILINX_QEMU_VERSION = "v8.1.0" BRANCH = "master" -SRCREV = "fa9f860d86de6a5ab520d1fa17ee196117f5a7f5" +SRCREV = "356a0a5bb5a4434fa3fa3efa75577c2448d86675" -- cgit v1.2.3-54-g00ecf From e7c05d5d2882f0a98f67ad56528c2a1d31f77453 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 22 Feb 2024 16:28:35 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_9919 zynqmp_pmufw: Fix MISRA-C violation for rule 10.4 xpsmfw:versal_net: inline function calls for update manager code. dfeprach: Support Baremetal SDT Yocto Flow xilsem:Fixed IPI interrupt ID for PL MB Versal Net. sw_services: xilpm: versal_net: Add PGGS/GGS permission for default subsystem sw_services: xilpm: Refactor PGGS/GGS permissions feature sysmonpsv: Support Baremetal SDT Yocto Flow scripts:repo.py: Correct the logic to prioritize the latest versioned drivers --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index f7015802..44e27d03 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "73f0904e41cc109f18bb19a5329d0e5a66af2434" -ESW_REV[2024.1] = "398ccbf46b05c9c10ba48dcba96c5a136ba4e09c" +ESW_REV[2024.1] = "2c4acd99524cadd813b9804fb3c1abd6112ec787" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From e3e022374f73035229f5b4cbaa592471ec83ff9b Mon Sep 17 00:00:00 2001 From: saumya garg Date: Wed, 21 Feb 2024 10:28:43 +0530 Subject: xrt, zocl: Update commit id Changelog: Initial implementation of HIP apis and objects (#7940) VITIS-11348 Refactor how the platform path is found per OS (#7953) Vitis 6479 - Changing profiling to use correct clock frequencies for compute units and monitors (#7952) VITIS-11415 Remove dynamic region report for Ryzen devices (#7950) CR-1189595: Fixed issue where memory module events are not configured correctly (#7948) Further support of memory module DMA events on Edge devices (#7947) VITIS-11339 Remove AIE start column parameter from query. Remove AIE information query from alveo device shim Support for memory module DMA events on client devices (#7928) add tct all column test (#7942) CR-1188254 Disable xbutil reset and program in RyzenAI 1.1 ARC2 (#7932) Xcl Api Replacement (#7915) Add iterations to df-bw to increase throughput (#7939) Fix incorrect return value for xclRead (#7914) Signed-off-by: saumya garg Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-xrt/xrt/xrt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc index 1941d633..89dc87cc 100644 --- a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc @@ -3,7 +3,7 @@ BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != ' SRC_URI = "${REPO};${BRANCHARG};name=xrt" BRANCH= "master" -SRCREV_xrt = "41f4221433c6b173316b61cb2e7e3ee5152d8075" +SRCREV_xrt = "8426f5733c01018acbd8d12745bc9e5ffc4535e6" PV = "202320.2.17.0" SRC_URI += "git://github.com/Xilinx/dma_ip_drivers.git;branch=master;name=dma_ip_drivers;destsuffix=git/src/runtime_src/core/pcie/driver/linux/xocl/lib/libqdma;protocol=https" -- cgit v1.2.3-54-g00ecf From 794526e7b30bd43042f68c892ae8e63e14adcb3b Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 23 Feb 2024 12:55:14 +0530 Subject: aie-rt : Updated SRCREV for 2024.1_9559 fal: tests: utests: Remove reference to XAie_UserRsc in test cases fal: src: Complete functionality of AIEFAL resource manager fal: src: Port broadcast class to make requests to FAL resource manager fal: src: Port Trace classes to make resource requests from FAL resource manager. fal: src: rsc: Make sure to clear vRscs if request unsuccessful fal: Port PC Events and PC Range classes to request from FAL resource manager fal: src: rsc: Port performance counter classes to request from FAL resource manager fal: Port Stream switch event port select to make resource requests from FAL. fal: Port Group Event class to make resource requests to FAL resource manager fal: Port Combo Events to request from FAL resource manager fal: src: Port User Events to request from FAL resource manager fal: Adds FAL resource manager driver: src: io_backend: Add backend operation to get partition file descriptor driver: src: interrupt: Remove internal resource requests from interrupt handling driver: src: Remove resource manager requests for ECC driver: src: Remove resource requests from XAie_TimerSync --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index a45ecf99..35ea184e 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "main-aie" -SRCREV ?= "a6e2fe31b0307fa952ac47108c4b8c869480bae7" +SRCREV ?= "f6e637be90b7bc549765951664f565080e5bb6e9" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From 5c84f9bc9d934157ac27cf2c34f0788248709b85 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 23 Feb 2024 12:46:12 +0530 Subject: qemu : Updated SRCREV for 2024.1_7263 hw/display: Introduce ARM MALI-400 stub device --- meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc index 39c87b13..d410d76f 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc @@ -1,3 +1,3 @@ XILINX_QEMU_VERSION = "v8.1.0" BRANCH = "master" -SRCREV = "356a0a5bb5a4434fa3fa3efa75577c2448d86675" +SRCREV = "2a9d24f772a7b84a08f50a5a743c4470c22eca02" -- cgit v1.2.3-54-g00ecf From 95dfaf39c5fce31bcc7fb34c831a7a03cf983d5b Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Sat, 24 Feb 2024 12:46:34 +0530 Subject: dts : Updated SRCREV for 2024.1_8499 zynqmp: gpu: Connect GPU to ZynqMP --- meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb index 0d56fc4d..87185319 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb @@ -2,5 +2,5 @@ require qemu-devicetrees.inc BRANCH ?= "master" -SRCREV ?= "2bd480212f0e3bbb2aadfc0063bb6634dce9d0aa" +SRCREV ?= "60dd642918f6b7417716684b3abe8cb69e638863" -- cgit v1.2.3-54-g00ecf From ca5e1c1268316ca6c5037c54b34f1114955c2e14 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Sat, 24 Feb 2024 12:49:26 -0600 Subject: Revert "aie-rt : Updated SRCREV for 2024.1_9559" This reverts commit 794526e7b30bd43042f68c892ae8e63e14adcb3b. XRT fails to build properly. Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index 35ea184e..a45ecf99 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "main-aie" -SRCREV ?= "f6e637be90b7bc549765951664f565080e5bb6e9" +SRCREV ?= "a6e2fe31b0307fa952ac47108c4b8c869480bae7" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From 6516b64d591ec3527133176ae0d7d1dbccfa8fb0 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Sun, 25 Feb 2024 12:54:12 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_9955 mipicsiss: data: Update yaml file to support example designs sw_apps:versal_plm: Restore secure state config after inplace update sw_services:xilnvm:Extend secure state during efuse programming sw_services:xilloader:Add support to extend secure state sw_services:xilocp: Add support to extend secure state to SWPCR sw_apps: memory_tests: Update memory rejectlist xilpm:versal_common: xpm_device reset PendingReqm v_hdmitxss1: Fix compilation error in sdt flow v_hdmirxss1: Fix compilation error in sdt flow v_hdmitxss: Update HDCP Repeater example to support SDT flow. v_hdmirxss: Update HDCP Repeater example to support SDT flow. hdcp22_tx: Fix Yaml entries for HDCP hdcp22_rx: Fix Yaml entries for HDCP --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 44e27d03..11b35b88 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "73f0904e41cc109f18bb19a5329d0e5a66af2434" -ESW_REV[2024.1] = "2c4acd99524cadd813b9804fb3c1abd6112ec787" +ESW_REV[2024.1] = "95f8de2914609e6d80e52be188055a3b90db2e7d" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 0b9cf1e94c2048cc73fd203f77ed3cac34bc326d Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Fri, 23 Feb 2024 12:57:57 -0700 Subject: meta-xilinx-standalone-experimental: Update README.md to latest gen-machine-conf Signed-off-by: Mark Hatle --- meta-xilinx-standalone-experimental/README.md | 44 +++++++++++---------------- 1 file changed, 18 insertions(+), 26 deletions(-) diff --git a/meta-xilinx-standalone-experimental/README.md b/meta-xilinx-standalone-experimental/README.md index 77d2bcb8..1c80dc8f 100644 --- a/meta-xilinx-standalone-experimental/README.md +++ b/meta-xilinx-standalone-experimental/README.md @@ -94,23 +94,19 @@ $ gen-machineconf --soc-family zynqmp --hw-description **Bitbake Performance Note:** Each BBMULTICONFIG value requires all of the recipes to be parsed for that -- cgit v1.2.3-54-g00ecf From cb5b21d38ac45ec3df15f78fcdc04e17db1c100c Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Fri, 23 Feb 2024 12:58:23 -0700 Subject: openamp-fw: Update deploy directory path The deploy directory path has been adjusted from BASE_TMPDIR to a specific prefix MC_TMPDIR_PREFIX. Signed-off-by: Mark Hatle --- .../recipes-applications/openamp-fw/openamp-fw.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone-experimental/recipes-applications/openamp-fw/openamp-fw.inc b/meta-xilinx-standalone-experimental/recipes-applications/openamp-fw/openamp-fw.inc index dec27313..398f8dce 100644 --- a/meta-xilinx-standalone-experimental/recipes-applications/openamp-fw/openamp-fw.inc +++ b/meta-xilinx-standalone-experimental/recipes-applications/openamp-fw/openamp-fw.inc @@ -12,7 +12,7 @@ FW_MACHINE:versal = "cortexr5-0-versal" FW_MACHINE:versal-net = "cortexr52-0-versal-net" FW_OS ?= "baremetal" -OPENAMP_FW_DEPLOY_DIR ?= "${BASE_TMPDIR}/tmp-${FW_MACHINE}-${FW_OS}/deploy/images/${MACHINE}" +OPENAMP_FW_DEPLOY_DIR ?= "${MC_TMPDIR_PREFIX}-${FW_MACHINE}-${FW_OS}/deploy/images/${MACHINE}" DEPENDS = " open-amp-xlnx " do_install[mcdepends] += "mc::${FW_MACHINE}-${FW_OS}:open-amp-xlnx:do_deploy" do_install() { -- cgit v1.2.3-54-g00ecf From 35d67ce2e882a9acc02adca9088bb1ae41de28de Mon Sep 17 00:00:00 2001 From: Ben Levinsky Date: Fri, 23 Feb 2024 10:57:24 -0800 Subject: lopper: Update srcrev for 2024.1 Below are the updates: 1bf6728 Revert "lopper: assists: gen_domain_dts: Remove dupe TCM node" 9173c4c openamp: xlnx: VHK158: clean up compatible string 7b8fafc lopper: assists: xlnx_overlay_dt: fixed the closing bracket missing issue bfbd55b domain_access: reference count memory nodes 6937a27 Revert "openamp: xlnx: Clean up TCM handling" 4e8c9a4 assists/domain_access: keep all matched regions 8a936b8 openamp: xlnx: Clean up TCM handling 7a16db0 lopper: assists: gen_domain_dts: Remove dupe TCM node 17cc815 lopper: assists: domain_access: Fix typo vebose 033a78f lopper: assists: barmetal*: Fix race condition in the version driver handling Signed-off-by: Ben Levinsky Signed-off-by: Mark Hatle --- .../virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend index ec08c0e4..816c0e2e 100644 --- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend @@ -1,5 +1,5 @@ SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=master;protocol=https" -SRCREV = "ac63f30a9432b189cee723b3b4783b2501e7e0ae" +SRCREV = "1bf67283748ed006b2ee8c84b68b786f6b9744bc" FILESEXTRAPATHS:prepend := "${THISDIR}/lopper:" -- cgit v1.2.3-54-g00ecf From 386c5436af9a42d3215cdd37d9770092864c1878 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 26 Feb 2024 10:55:02 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_2855 dp14rxss: Fix yaml for hdcp mmult configuration entry --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 11b35b88..151dd0a4 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "73f0904e41cc109f18bb19a5329d0e5a66af2434" -ESW_REV[2024.1] = "95f8de2914609e6d80e52be188055a3b90db2e7d" +ESW_REV[2024.1] = "eb280ca6b137320128bfffcbe4c221aad0a20c90" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 9442c10331e68e2510fbd317c6e36d0e39638234 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 26 Feb 2024 12:56:45 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_5979 arm64: zynqmp: Remove arm,cortex-a53-edac node xilinx: Fix fpga region DT nodes name arm64: zynqmp: Align nvmem-fw node with dt-schema arm64: versal-net: Setup correct addresses of GICR/GICD arm64: zynqmp: Disable DP on kd240 --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index ba264499..3fef3af0 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2024.01" UBRANCH = "xlnx_rebase_v2024.01" -SRCREV = "ae663ed4f76ae6d208d72e6d5de0bf34339f224a" +SRCREV = "40a9bf3c0494fbba4d042278b2206e36705467ff" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From c40fd337df96c524f72d41313ebdb225231fcb66 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 26 Feb 2024 15:20:07 +0530 Subject: linux-xlnx : Updated SRCREV for 2024.1_7059 arm64: zynqmp: Remove arm,cortex-a53-edac node xilinx: Fix fpga region DT nodes name arm64: zynqmp: Align nvmem-fw node with dt-schema arm64: zynqmp: Disable DP on kd240 Revert "misc: xilinx-ai-engine: Added support to capture utilization." Revert "misc: xilinx-ai-engine: Fix compilation warning" v4l: xilinx: hdcp2xrx: Fix cppcheck warnings v4l: xilinx: dprxss: Fix cppcheck warnings ata: ahci_ceva: fix error handling for Xilinx GT PHY support nvmem: Added eFuse provisioning support firmware: xilinx: Efuse interface api support for Versal drm: xlnx: drv: Check graphs presence before finding endpoint drm: xlnx: hdcp: Limit stack frame size to 1024 bytes --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index 11ec1844..eac02a24 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.6.10" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.6;destsuffix=yocto-kmeta" KBRANCH="xlnx_rebase_v6.6_LTS" -SRCREV = "2c37bbe14ceda0b170aa4b2516402aa9e04194de" +SRCREV = "a33033bade7432af01ed916b9dd7fc6e484d91b9" SRCREV_meta = "5d0809d0d939c7738cb6e5391126c73fd0e4e865" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From d56652e765b8de8d5dd02a4f3eb610e64bba2c97 Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Tue, 27 Feb 2024 12:30:13 +0530 Subject: Updated Commit ID lib: multiconfigs.py: Update the get_domain_name to loop over all subsystems --- meta-xilinx-core/gen-machine-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf index d0088429..5eb46420 160000 --- a/meta-xilinx-core/gen-machine-conf +++ b/meta-xilinx-core/gen-machine-conf @@ -1 +1 @@ -Subproject commit d0088429e1ab2ac110fe293902b98afe60005a60 +Subproject commit 5eb4642025e6742152b258bebdaa17a8629642ca -- cgit v1.2.3-54-g00ecf From 241e03c182b92760aef61c9c63c25b6efe5cf9b8 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 28 Feb 2024 11:33:51 +0530 Subject: aie-rt : Updated SRCREV for 2024.1_7655 fal: tests: utests: Remove reference to XAie_UserRsc in test cases fal: src: Complete functionality of AIEFAL resource manager fal: src: Port broadcast class to make requests to FAL resource manager fal: src: Port Trace classes to make resource requests from FAL resource manager. fal: src: rsc: Make sure to clear vRscs if request unsuccessful fal: Port PC Events and PC Range classes to request from FAL resource manager fal: src: rsc: Port performance counter classes to request from FAL resource manager fal: Port Stream switch event port select to make resource requests from FAL. fal: Port Group Event class to make resource requests to FAL resource manager fal: Port Combo Events to request from FAL resource manager fal: src: Port User Events to request from FAL resource manager fal: Adds FAL resource manager driver: src: io_backend: Add backend operation to get partition file descriptor driver: src: interrupt: Remove internal resource requests from interrupt handling driver: src: Remove resource manager requests for ECC driver: src: Remove resource requests from XAie_TimerSync --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index a45ecf99..35ea184e 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "main-aie" -SRCREV ?= "a6e2fe31b0307fa952ac47108c4b8c869480bae7" +SRCREV ?= "f6e637be90b7bc549765951664f565080e5bb6e9" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From 64c38df985d6da96e70e8632c72f01ff56b8c714 Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Wed, 28 Feb 2024 13:13:44 +0530 Subject: Revert "aie-rt : Updated SRCREV for 2024.1_7655" This reverts commit 241e03c182b92760aef61c9c63c25b6efe5cf9b8. --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index 35ea184e..a45ecf99 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "main-aie" -SRCREV ?= "f6e637be90b7bc549765951664f565080e5bb6e9" +SRCREV ?= "a6e2fe31b0307fa952ac47108c4b8c869480bae7" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From 06671950d1391bac97528d895f4085aaa4740210 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 28 Feb 2024 11:33:22 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_9571 sw_apps: zynqmp_fsbl: Add support to enable address mirroring --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 151dd0a4..fd253cc0 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "73f0904e41cc109f18bb19a5329d0e5a66af2434" -ESW_REV[2024.1] = "eb280ca6b137320128bfffcbe4c221aad0a20c90" +ESW_REV[2024.1] = "26f1beadc7f3222b69f08683a1c410391352b255" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From c78382a53a7c776d7e701678d88fb8c9d6071d87 Mon Sep 17 00:00:00 2001 From: Ben Levinsky Date: Tue, 27 Feb 2024 08:47:40 -0800 Subject: libmetal-xlnx: 2024.1: Updated SRCREV examples: linux: zynqmp: Fix Typo in ZynqMP IPI Base address Signed-off-by: Ben Levinsky Signed-off-by: Mark Hatle --- .../openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb index ef762c71..d75f49c6 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb @@ -1,5 +1,5 @@ SRCBRANCH ?= "2024" -SRCREV = "b73ba4259aedde683c5d8105111dec8d0814ae79" +SRCREV = "9824dd0819e353befb6c833c2036f2355e3e36e1" BRANCH = "2024" LIC_FILES_CHKSUM ?= "file://LICENSE.md;md5=f4d5df0f12dcea1b1a0124219c0dbab4" PV = "${SRCBRANCH}+git${SRCPV}" -- cgit v1.2.3-54-g00ecf From b9eb6d4333187aeeea09f7764e3c0bc71c04635d Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 29 Feb 2024 08:03:27 +0530 Subject: vcu-firmware : Updated SRCREV for 2024.1_5011 chore(firmware): update to revision d70f0d5674f9565dc8c62591ec569e64746809d0 --- meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb index d12f36eb..7bd9b182 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb @@ -10,7 +10,7 @@ S = "${WORKDIR}/git" BRANCH ?= "master" REPO ?= "git://github.com/Xilinx/vcu-firmware.git;protocol=https" -SRCREV = "3f2e63c4709340575d252ad2af59b3bef17a9916" +SRCREV = "ffe29273f378619a711aa10664612e6c660ee590" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" -- cgit v1.2.3-54-g00ecf From ccca4a693e1236e1c15c80498a0912d5a400eab5 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 28 Feb 2024 18:35:51 -1200 Subject: vcu-ctrl-sw : Updated SRCREV for 2024.1_3859 chore(ctrlsw): update to revision d70f0d5674f9565dc8c62591ec569e64746809d0 --- meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb index 723458fb..ac7e4aa3 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb @@ -8,7 +8,7 @@ PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', BRANCH ?= "master" REPO ?= "git://github.com/Xilinx/vcu-ctrl-sw.git;protocol=https" -SRCREV = "9227ef1675e980d6d05c85285f7d1d74521a7903" +SRCREV = "918ec1e87c67b2746fe0f2bfa9f1503d307b9bc2" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" -- cgit v1.2.3-54-g00ecf From 9ce335dfe0ab6648f8346986856952e6991722a0 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 29 Feb 2024 17:51:18 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_8135 Revert "sw_services: xilloader: Enhance Extract Metaheader command to get optional data" plm: versal_net: Ack In-Place PLM Update request only after Done sw_services:xilloader:Added Support for Infineon flash part v_sdirxss: SDT flow kcu116/vck190 apps restructure v_sditxss: Fix SDT flow pixco app name elaborate scugic: Fix compilation errors reported by C++ compiler i3c: Add Read/write FIFO depth config parameter i3c: Remove repeated start check and update XI3c_MasterRecvPolled i3c: Remove XI3c_ResetFifos from XI3C_BusInit and examples sw_services:xilsecure:Added enable configuration for ECC curve. qspips: src: Add missing parenthesis for macro expansions xilpm: versal_common: server: Remove XPm_IdleRestartHandler Warp Example App: Fix for interrupt callbacks sw_apps: imgsel: Fix zynqmp image selector app hang in usleep sw_services:xilocp:Add support for DME extension sw_services:xilcert:Add support for DME extension bsp:standalone: Add Xil_SChangeEndiannessAndCpy API lib: xlnx: Avoid mapping in MPU for region mapped by bsp sw_apps:versal_plm: Enabled PDI load status prints in debug level-0 sw_services: xilsecure: Update XPlmi_DmaXfr passing argument to word level scripts: pyesw: utils: Add support for read-only embeddedsw usecase sw_services: xilloader: Enhance Extract Metaheader command to get optional data xpsmfw:versal_net: fix assertion on event --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index fd253cc0..cb8fd5e5 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "73f0904e41cc109f18bb19a5329d0e5a66af2434" -ESW_REV[2024.1] = "26f1beadc7f3222b69f08683a1c410391352b255" +ESW_REV[2024.1] = "688e76e473a8936170b1a453f52a751ab64fefda" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From f988d065649589769a094269fe32e63d6493198f Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 29 Feb 2024 17:19:21 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_3771 arm64: versal-net: Align spi-max-frequency for ipp-rev1.9 mtd: spi-nor: Add SPI_NOR_MULTI_DIE flag --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index 3fef3af0..2b4014d4 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2024.01" UBRANCH = "xlnx_rebase_v2024.01" -SRCREV = "40a9bf3c0494fbba4d042278b2206e36705467ff" +SRCREV = "4b936096a8ef3f8de91d069d8e0d4bc0315714f6" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From 436db1242cb80949160e789b38a36d3c9ad83b44 Mon Sep 17 00:00:00 2001 From: Ben Levinsky Date: Tue, 27 Feb 2024 21:45:37 -0800 Subject: lopper: Update srcrev for 2024.1 Below are the updates: d01a174 openamp: xlnx: Update Platform handling to use model property c747581 base/phandle: add reset-gpios 4451694 tree: return a list of nodes matching an address Signed-off-by: Ben Levinsky Signed-off-by: Mark Hatle --- .../virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend index 816c0e2e..82b51835 100644 --- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend @@ -1,5 +1,5 @@ SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=master;protocol=https" -SRCREV = "1bf67283748ed006b2ee8c84b68b786f6b9744bc" +SRCREV = "d01a1742a626149d956008afe8d4f66a1657f71c" FILESEXTRAPATHS:prepend := "${THISDIR}/lopper:" -- cgit v1.2.3-54-g00ecf From e5d7484616d63ac59f311dd5a310bc3979a29116 Mon Sep 17 00:00:00 2001 From: Swagath Gadde Date: Wed, 28 Feb 2024 15:56:42 +0530 Subject: system-vek280: add workaround device tree node Add the workaround device tree node to reserve the bad block DDR memory. so that we can boot linux on vek280 board. Signed-off-by: Swagath Gadde Signed-off-by: Mark Hatle --- .../recipes-bsp/device-tree/device-tree.bbappend | 2 ++ .../recipes-bsp/device-tree/files/system-vek280.dtsi | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 meta-xilinx-bsp/recipes-bsp/device-tree/files/system-vek280.dtsi diff --git a/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bbappend b/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bbappend index fa4816af..7acda75e 100644 --- a/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bbappend +++ b/meta-xilinx-bsp/recipes-bsp/device-tree/device-tree.bbappend @@ -5,3 +5,5 @@ COMPATIBLE_MACHINE:qemu-zynq7 = ".*" SRC_URI:append:qemu-zynq7 = " file://qemu-zynq7.dts" EXTRA_OVERLAYS:append = "${@bb.utils.contains('MACHINE_FEATURES', 'provencore', ' pnc.dtsi', '', d)}" + +EXTRA_OVERLAYS:append:vek280-versal = " system-vek280.dtsi" diff --git a/meta-xilinx-bsp/recipes-bsp/device-tree/files/system-vek280.dtsi b/meta-xilinx-bsp/recipes-bsp/device-tree/files/system-vek280.dtsi new file mode 100644 index 00000000..0d2ca87d --- /dev/null +++ b/meta-xilinx-bsp/recipes-bsp/device-tree/files/system-vek280.dtsi @@ -0,0 +1,20 @@ +/ { +/* Reserve the bad block DDR memory for linux to not touch it, refer:CR-1143646 */ +reserved-memory { + #address-cells = <2>; + #size-cells = <2>; + ranges; + pl_ddr: buffer@0 + { + no-map; + reg = <0x08 0x00 0x00 0x80000000>; + }; + + lpddr_memory: buffer@1 + { + no-map; + reg = <0x500 0x0 0x2 0x0>; + }; + +}; +}; -- cgit v1.2.3-54-g00ecf From 8e7cc44a6ea3b5b79a3b0374df1c99cf048905d8 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Wed, 28 Feb 2024 17:35:33 -0600 Subject: vdu: Remove COMPATIBLE_MACHINE entry The vdu components all require the MACHINE_FEATURE of 'vdu', so COMPATIBLE_MACHINE is not necessary. Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2023.1.bb | 4 ---- meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2023.2.bb | 4 ---- meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb | 4 ---- meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.1.bb | 4 ---- meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.2.bb | 4 ---- meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb | 4 ---- meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.1.bb | 4 ---- meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.2.bb | 4 ---- meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb | 4 ---- meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.1.bb | 4 ---- meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.2.bb | 4 ---- meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb | 4 ---- 12 files changed, 48 deletions(-) diff --git a/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2023.1.bb index 9b835490..df943bc6 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2023.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2023.1.bb @@ -28,10 +28,6 @@ EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}" RDEPENDS:${PN} = "vdu-firmware" -COMPATIBLE_MACHINE = "^$" -COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" -COMPATIBLE_MACHINE:versal-ai-edge = "versal-ai-edge" - PACKAGE_ARCH = "${SOC_FAMILY_ARCH}" do_install:append() { diff --git a/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2023.2.bb b/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2023.2.bb index 1c9ba8ad..6856ec3a 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2023.2.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2023.2.bb @@ -28,10 +28,6 @@ EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}" RDEPENDS:${PN} = "vdu-firmware" -COMPATIBLE_MACHINE = "^$" -COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" -COMPATIBLE_MACHINE:versal-ai-edge = "versal-ai-edge" - PACKAGE_ARCH = "${SOC_FAMILY_ARCH}" do_install:append() { diff --git a/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb index 025c33d8..0e3afbc1 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb @@ -28,10 +28,6 @@ EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}" RDEPENDS:${PN} = "vdu-firmware" -COMPATIBLE_MACHINE = "^$" -COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" -COMPATIBLE_MACHINE:versal-ai-edge = "versal-ai-edge" - PACKAGE_ARCH = "${SOC_FAMILY_ARCH}" do_install:append() { diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.1.bb index 602dc2fc..f42cf0ed 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.1.bb @@ -20,10 +20,6 @@ SRC_URI = "${REPO};${BRANCHARG}" S = "${WORKDIR}/git" -COMPATIBLE_MACHINE = "^$" -COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" -COMPATIBLE_MACHINE:versal-ai-edge = "versal-ai-edge" - PACKAGE_ARCH = "${SOC_FAMILY_ARCH}" RDEPENDS:${PN} = "kernel-module-vdu" diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.2.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.2.bb index 2b9af94f..4dd742ac 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.2.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.2.bb @@ -20,10 +20,6 @@ SRC_URI = "${REPO};${BRANCHARG}" S = "${WORKDIR}/git" -COMPATIBLE_MACHINE = "^$" -COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" -COMPATIBLE_MACHINE:versal-ai-edge = "versal-ai-edge" - PACKAGE_ARCH = "${SOC_FAMILY_ARCH}" RDEPENDS:${PN} = "kernel-module-vdu" diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb index 47ad4e55..09a06c3e 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb @@ -20,10 +20,6 @@ SRC_URI = "${REPO};${BRANCHARG}" S = "${WORKDIR}/git" -COMPATIBLE_MACHINE = "^$" -COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" -COMPATIBLE_MACHINE:versal-ai-edge = "versal-ai-edge" - PACKAGE_ARCH = "${SOC_FAMILY_ARCH}" RDEPENDS:${PN} = "kernel-module-vdu" diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.1.bb index b4fc482e..282f4797 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.1.bb @@ -20,10 +20,6 @@ inherit autotools features_check REQUIRED_MACHINE_FEATURES = "vdu" -COMPATIBLE_MACHINE = "^$" -COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" -COMPATIBLE_MACHINE:versal-ai-edge = "versal-ai-edge" - PACKAGE_ARCH = "${SOC_FAMILY_ARCH}" DEPENDS = "libvdu-ctrlsw" diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.2.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.2.bb index f6f159d2..03dc7071 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.2.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.2.bb @@ -20,10 +20,6 @@ inherit autotools features_check REQUIRED_MACHINE_FEATURES = "vdu" -COMPATIBLE_MACHINE = "^$" -COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" -COMPATIBLE_MACHINE:versal-ai-edge = "versal-ai-edge" - PACKAGE_ARCH = "${SOC_FAMILY_ARCH}" DEPENDS = "libvdu-ctrlsw" diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb index 64d23408..51a03803 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb @@ -20,10 +20,6 @@ inherit autotools features_check REQUIRED_MACHINE_FEATURES = "vdu" -COMPATIBLE_MACHINE = "^$" -COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" -COMPATIBLE_MACHINE:versal-ai-edge = "versal-ai-edge" - PACKAGE_ARCH = "${SOC_FAMILY_ARCH}" DEPENDS = "libvdu-ctrlsw" diff --git a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.1.bb index 8cc2cce1..2fbc7be2 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.1.bb @@ -20,10 +20,6 @@ SRCREV ?= "63fe2fce6e46d5bf03e33300a58a37d8568722ee" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" -COMPATIBLE_MACHINE = "^$" -COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" -COMPATIBLE_MACHINE:versal-ai-edge = "versal-ai-edge" - PACKAGE_ARCH = "${SOC_FAMILY_ARCH}" EXTRA_OEMAKE +="INSTALL_PATH=${D}/lib/firmware" diff --git a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.2.bb b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.2.bb index e9ef222b..08fb713a 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.2.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2023.2.bb @@ -20,10 +20,6 @@ SRCREV ?= "731897772730178f6a4e77eedeb4fb53faa1ab4d" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" -COMPATIBLE_MACHINE = "^$" -COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" -COMPATIBLE_MACHINE:versal-ai-edge = "versal-ai-edge" - PACKAGE_ARCH = "${SOC_FAMILY_ARCH}" EXTRA_OEMAKE +="INSTALL_PATH=${D}/lib/firmware" diff --git a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb index c0d9737f..d2b991a8 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb @@ -20,10 +20,6 @@ SRCREV ?= "7c4662d0f5b514cbb0b9890bc3011d9450bf3661" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" -COMPATIBLE_MACHINE = "^$" -COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" -COMPATIBLE_MACHINE:versal-ai-edge = "versal-ai-edge" - PACKAGE_ARCH = "${SOC_FAMILY_ARCH}" EXTRA_OEMAKE +="INSTALL_PATH=${D}/lib/firmware" -- cgit v1.2.3-54-g00ecf From fe8884b69f95b56ec94d77e527a29b5a91d6d694 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 1 Mar 2024 12:47:13 +0530 Subject: dts : Updated SRCREV for 2024.1_5783 versal-psm: reset the psm bus with the lpd versal-psm: bind the psm-cpu reset to the crp versal-psm: demacro-ify the iomodule creation --- meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb index 87185319..7a047963 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb @@ -2,5 +2,5 @@ require qemu-devicetrees.inc BRANCH ?= "master" -SRCREV ?= "60dd642918f6b7417716684b3abe8cb69e638863" +SRCREV ?= "4134a31d089cd83de45a9538f31ba41c8debec7a" -- cgit v1.2.3-54-g00ecf From b70daf7b696934f402decd5a26b1cc1d26386029 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 1 Mar 2024 12:55:34 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_5095 sysmonpsv: Initial Config Struct xilpm:versal_common: Fix race condition for APU power event handlers xilsem: Removed dummy options in xilsem MLD file. mipicsiss: example: Remove extra code mipicsiss: data: fix yaml file syntax --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index cb8fd5e5..89f6e3b7 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "73f0904e41cc109f18bb19a5329d0e5a66af2434" -ESW_REV[2024.1] = "688e76e473a8936170b1a453f52a751ab64fefda" +ESW_REV[2024.1] = "4ccd83489471c387f4d63f7257727624296dd9c3" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From affd3ac6b3f803d51780fb6e3e8a74fcf8a9bedf Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Sat, 2 Mar 2024 13:00:41 +0530 Subject: libmetal : Updated SRCREV for 2024.1_7819 examples: zynqmp_r5: CMake: Enable demo to build without libxil present in SDT flow examples: linux: zynqmp: Enable Values to be mutable --- .../openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb index d75f49c6..651a2d53 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb @@ -1,5 +1,5 @@ SRCBRANCH ?= "2024" -SRCREV = "9824dd0819e353befb6c833c2036f2355e3e36e1" +SRCREV = "9730018001c48398d72418c5e7b596738181fff9" BRANCH = "2024" LIC_FILES_CHKSUM ?= "file://LICENSE.md;md5=f4d5df0f12dcea1b1a0124219c0dbab4" PV = "${SRCBRANCH}+git${SRCPV}" -- cgit v1.2.3-54-g00ecf From 7523a679987897e56bac202d09a9cb06a7676e06 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Sat, 2 Mar 2024 12:47:11 +0530 Subject: dts : Updated SRCREV for 2024.1_8643 versal-psx-rpu: wire rpu wfi to rpu_pcil versal-ps*-virt: drop apu_intc_redirect versal-ps-apu: restrict to 2 APUs versal-psm: wire apu wakeup request --- meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb index 7a047963..148b00d7 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb @@ -2,5 +2,5 @@ require qemu-devicetrees.inc BRANCH ?= "master" -SRCREV ?= "4134a31d089cd83de45a9538f31ba41c8debec7a" +SRCREV ?= "b95c8177bb8b38cb3632aa574db6f2a395482f90" -- cgit v1.2.3-54-g00ecf From e2518f9e2773817793e9089757293e6828095516 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Sun, 3 Mar 2024 12:46:40 +0530 Subject: qemu : Updated SRCREV for 2024.1_6223 hw/misc/xlnx-versal-net-rpu-pcil: refine powerdownreq signals hw/misc/xlnx-versal-net-rpu-pcil: add rpu-standby-wfi input xlnx-versal-psm-global: switch apu wakeup as client_gpio hw/intc/arm_gicv3: fix the logic for the wakerequest signal --- meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc index d410d76f..d3abfa8c 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc @@ -1,3 +1,3 @@ XILINX_QEMU_VERSION = "v8.1.0" BRANCH = "master" -SRCREV = "2a9d24f772a7b84a08f50a5a743c4470c22eca02" +SRCREV = "839ca6c6777c7f19407e46d0f09fda6c00350015" -- cgit v1.2.3-54-g00ecf From 1a5d85c4d1bb6b086953a66720a2224c654c3ee7 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 4 Mar 2024 12:46:43 +0530 Subject: qemu : Updated SRCREV for 2024.1_1335 misc: xlnx-versal-aes: Change encrypted key endianess --- meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc index d3abfa8c..e7d915c9 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc @@ -1,3 +1,3 @@ XILINX_QEMU_VERSION = "v8.1.0" BRANCH = "master" -SRCREV = "839ca6c6777c7f19407e46d0f09fda6c00350015" +SRCREV = "500c2f501522daae375d9c2bb605e1b2d9f5da4f" -- cgit v1.2.3-54-g00ecf From 72f739eead6e87f5f42082d052fe808677d61b90 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 4 Mar 2024 14:51:38 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_6731 sw_services: xilpm: remove unused macro sw_apps: zynqmp_fsbl: Fixes build failure if no uarts enabled in the design scripts: pyesw: utils: Update the get_domain_name to loop over all subsystems sw_services: xilloader: Enhance Extract Metaheader command to get optional data lwip : Fix Syntax Error sw_apps: zynqmp_pmufw: Add SOM specific macros --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 89f6e3b7..a3798e67 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "73f0904e41cc109f18bb19a5329d0e5a66af2434" -ESW_REV[2024.1] = "4ccd83489471c387f4d63f7257727624296dd9c3" +ESW_REV[2024.1] = "d127712975e2c01d9893f7628727f1f2472da65d" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 6cd838e6a8c0cdc1a9d52f13ba5a99c2878a2591 Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Tue, 5 Mar 2024 12:30:12 +0530 Subject: Updated Commit ID lib: multiconfigs.py: Update the distro for psm microblaze --- meta-xilinx-core/gen-machine-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf index 5eb46420..e2e84157 160000 --- a/meta-xilinx-core/gen-machine-conf +++ b/meta-xilinx-core/gen-machine-conf @@ -1 +1 @@ -Subproject commit 5eb4642025e6742152b258bebdaa17a8629642ca +Subproject commit e2e841576d70e875f8209b9734df44501c1967d0 -- cgit v1.2.3-54-g00ecf From c211ed65d7386f89ca5f12b9a39f54c3743dbca3 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 5 Mar 2024 12:58:01 +0530 Subject: open-amp : Updated SRCREV for 2024.1_4959 apps: zynqmp_r5: zynqmp: Update RPU1 Bitmask --- .../openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb index e678693a..01df6033 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb @@ -1,5 +1,5 @@ SRCBRANCH ?= "2024" -SRCREV = "09877b69bd98e363c34a7e3030e4ab5391b1baf9" +SRCREV = "f4a7bc0fca5b14bb8fd185918614bcc78ce93028" BRANCH = "2024" LIC_FILES_CHKSUM ?= "file://LICENSE.md;md5=ab88daf995c0bd0071c2e1e55f3d3505" PV = "${SRCBRANCH}+git${SRCPV}" -- cgit v1.2.3-54-g00ecf From e438fec56a198eb58722c458b528066b4942e841 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 5 Mar 2024 13:00:48 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_9919 Revert "arm64: Reduce add_map() complexity" Revert "lmb: consider EFI memory map" mtd: spi-nor: ids: Enable Octal read for IS25LX512M flash --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index 2b4014d4..5abda3d1 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2024.01" UBRANCH = "xlnx_rebase_v2024.01" -SRCREV = "4b936096a8ef3f8de91d069d8e0d4bc0315714f6" +SRCREV = "ade8a841f4d2e61e03935dd8d4ef357d6d2a7239" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From 25f61af9c96bc62875a9c14269364b299e6bbb3b Mon Sep 17 00:00:00 2001 From: Ben Levinsky Date: Thu, 29 Feb 2024 10:44:56 -0800 Subject: lopper: Update srcrev for 2024.1 Below are the updates: 212686c isspec: drop debug code Signed-off-by: Ben Levinsky Signed-off-by: Mark Hatle --- .../virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend index 82b51835..0abf3831 100644 --- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend @@ -1,5 +1,5 @@ SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=master;protocol=https" -SRCREV = "d01a1742a626149d956008afe8d4f66a1657f71c" +SRCREV = "212686cddca66650e009b03040fb1d4c12c19768" FILESEXTRAPATHS:prepend := "${THISDIR}/lopper:" -- cgit v1.2.3-54-g00ecf From 8f868b083969d63024722802da121ac92b0ef4fd Mon Sep 17 00:00:00 2001 From: Vikram Garhwal Date: Fri, 1 Mar 2024 15:10:20 -0800 Subject: qemu: Add 2024.1 patches for Xen qemu-xen supports virtio-console and all virtio-pci based devices. This work was done as part of https://jira.xilinx.com/browse/SSW-5668 Signed-off-by: Vikram Garhwal Signed-off-by: Mark Hatle --- .../recipes-devtools/qemu/qemu-xen_8.1.inc | 1 + ...1-arm-xenpvh-Introduce-virtio-pci-support.patch | 353 +++++++++++++++++++++ 2 files changed, 354 insertions(+) create mode 100644 meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0001-arm-xenpvh-Introduce-virtio-pci-support.patch diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xen_8.1.inc b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xen_8.1.inc index 3cf6dae7..c674dc1a 100644 --- a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xen_8.1.inc +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xen_8.1.inc @@ -12,6 +12,7 @@ SRC_URI_XEN:class-target = " \ file://0009-memory-add-MemoryRegion-map-and-unmap-callbacks.patch \ file://0010-xen-add-map-and-unmap-callbacks-for-grant-region.patch \ file://0011-hw-arm-Add-grant-mapping.patch \ + file://0001-arm-xenpvh-Introduce-virtio-pci-support.patch \ " FILESEXTRAPATHS:prepend:class-target := "${THISDIR}/qemu-xilinx-8.1:" diff --git a/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0001-arm-xenpvh-Introduce-virtio-pci-support.patch b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0001-arm-xenpvh-Introduce-virtio-pci-support.patch new file mode 100644 index 00000000..6e3b40f7 --- /dev/null +++ b/meta-xilinx-virtualization/recipes-devtools/qemu/qemu-xilinx-8.1/0001-arm-xenpvh-Introduce-virtio-pci-support.patch @@ -0,0 +1,353 @@ +From 3104d411ee36487ea409ba5a1b474989326f70f2 Mon Sep 17 00:00:00 2001 +From: Vikram Garhwal +Date: Wed, 15 Nov 2023 14:19:31 -0800 +Subject: [PATCH] arm: xenpvh: Introduce virtio-pci support + +The bridge is needed for virtio-pci support, as QEMU can emulate the +whole bridge with any virtio-pci devices connected to it. + +NOTE: A few xen-hvm-common.c and xen_native.h changes are cherry-picked from +EPAM QEMU patches for xen-arm. This was done to keep least diff with upstream. + +Signed-off-by: Vikram Garhwal +Signed-off-by: Oleksandr Tyshchenko +Signed-off-by: Volodymyr Babchuk +--- + hw/arm/xen_arm.c | 271 ++++++++++++++++++++++++++++++++++++ + include/hw/xen/xen_native.h | 3 + + 2 files changed, 274 insertions(+) + +diff --git a/hw/arm/xen_arm.c b/hw/arm/xen_arm.c +index 1587e2a43b..a7c5b20777 100644 +--- a/hw/arm/xen_arm.c ++++ b/hw/arm/xen_arm.c +@@ -34,6 +34,7 @@ + #include "hw/xen/xen-hvm-common.h" + #include "sysemu/tpm.h" + #include "hw/xen/arch_hvm.h" ++#include "hw/pci-host/gpex.h" + + #define TYPE_XEN_ARM MACHINE_TYPE_NAME("xenpvh") + OBJECT_DECLARE_SIMPLE_TYPE(XenArmState, XEN_ARM) +@@ -57,6 +58,9 @@ struct XenArmState { + + struct { + uint64_t tpm_base_addr; ++ MemMapEntry pcie_mmio; ++ MemMapEntry pcie_ecam; ++ MemMapEntry pcie_mmio_high; + } cfg; + }; + +@@ -132,6 +136,80 @@ static void xen_init_ram(MachineState *machine) + ram_grants = *xen_init_grant_ram(); + } + ++static bool xen_validate_pcie_config(XenArmState *xam) ++{ ++ if (xam->cfg.pcie_ecam.base == 0 && ++ xam->cfg.pcie_ecam.size == 0 && ++ xam->cfg.pcie_mmio.base == 0 && ++ xam->cfg.pcie_mmio.size == 0 && ++ xam->cfg.pcie_mmio_high.base == 0 && ++ xam->cfg.pcie_mmio_high.size == 0) { ++ /* It's okay, user just don't want PCIe brige */ ++ return false; ++ } ++ ++ if (xam->cfg.pcie_ecam.base == 0 || ++ xam->cfg.pcie_ecam.size == 0 || ++ xam->cfg.pcie_mmio.base == 0 || ++ xam->cfg.pcie_mmio.size == 0 || ++ xam->cfg.pcie_mmio_high.base == 0 || ++ xam->cfg.pcie_mmio_high.size == 0) { ++ /* User provided some PCIe options, but not all of them */ ++ error_printf("Incomplete PCIe bridge configuration\n"); ++ exit(1); ++ } ++ ++ return true; ++} ++ ++static void xen_create_pcie(XenArmState *xam) ++{ ++ MemoryRegion *mmio_alias, *mmio_alias_high, *mmio_reg; ++ MemoryRegion *ecam_alias, *ecam_reg; ++ DeviceState *dev; ++ int i; ++ ++ dev = qdev_new(TYPE_GPEX_HOST); ++ sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); ++ ++ /* Map ECAM space */ ++ ecam_alias = g_new0(MemoryRegion, 1); ++ ecam_reg = sysbus_mmio_get_region(SYS_BUS_DEVICE(dev), 0); ++ memory_region_init_alias(ecam_alias, OBJECT(dev), "pcie-ecam", ++ ecam_reg, 0, xam->cfg.pcie_ecam.size); ++ memory_region_add_subregion(get_system_memory(), xam->cfg.pcie_ecam.base, ++ ecam_alias); ++ ++ /* Map the MMIO space */ ++ mmio_alias = g_new0(MemoryRegion, 1); ++ mmio_reg = sysbus_mmio_get_region(SYS_BUS_DEVICE(dev), 1); ++ memory_region_init_alias(mmio_alias, OBJECT(dev), "pcie-mmio", ++ mmio_reg, ++ xam->cfg.pcie_mmio.base, ++ xam->cfg.pcie_mmio.size); ++ memory_region_add_subregion(get_system_memory(), xam->cfg.pcie_mmio.base, ++ mmio_alias); ++ ++ /* Map the MMIO_HIGH space */ ++ mmio_alias_high = g_new0(MemoryRegion, 1); ++ memory_region_init_alias(mmio_alias_high, OBJECT(dev), "pcie-mmio-high", ++ mmio_reg, ++ xam->cfg.pcie_mmio_high.base, ++ xam->cfg.pcie_mmio_high.size); ++ memory_region_add_subregion(get_system_memory(), ++ xam->cfg.pcie_mmio_high.base, ++ mmio_alias_high); ++ ++ /* Legacy PCI interrupts (#INTA - #INTD) */ ++ for (i = 0; i < GPEX_NUM_IRQS; i++) { ++ qemu_irq irq = qemu_allocate_irq(xen_set_irq, NULL, ++ GUEST_VIRTIO_PCI_SPI_FIRST + i); ++ ++ sysbus_connect_irq(SYS_BUS_DEVICE(dev), i, irq); ++ gpex_set_irq_num(GPEX_HOST(dev), i, GUEST_VIRTIO_PCI_SPI_FIRST + i); ++ } ++} ++ + void arch_handle_ioreq(XenIOState *state, ioreq_t *req) + { + hw_error("Invalid ioreq type 0x%x\n", req->type); +@@ -193,6 +271,13 @@ static void xen_arm_init(MachineState *machine) + + xen_create_virtio_mmio_devices(xam); + ++ if (xen_validate_pcie_config(xam)) { ++ xen_create_pcie(xam); ++ } else { ++ DPRINTF("PCIe host bridge is not configured," ++ " only virtio-mmio can be used\n"); ++ } ++ + #ifdef CONFIG_TPM + if (xam->cfg.tpm_base_addr) { + xen_enable_tpm(xam); +@@ -228,6 +313,150 @@ static void xen_arm_set_tpm_base_addr(Object *obj, Visitor *v, + } + #endif + ++static void xen_arm_get_pcie_ecam_base_addr(Object *obj, Visitor *v, ++ const char *name, void *opaque, ++ Error **errp) ++{ ++ XenArmState *xam = XEN_ARM(obj); ++ uint64_t value = xam->cfg.pcie_ecam.base; ++ ++ visit_type_uint64(v, name, &value, errp); ++} ++ ++static void xen_arm_set_pcie_ecam_base_addr(Object *obj, Visitor *v, ++ const char *name, void *opaque, ++ Error **errp) ++{ ++ XenArmState *xam = XEN_ARM(obj); ++ uint64_t value; ++ ++ if (!visit_type_uint64(v, name, &value, errp)) { ++ return; ++ } ++ ++ xam->cfg.pcie_ecam.base = value; ++} ++ ++static void xen_arm_get_pcie_ecam_size(Object *obj, Visitor *v, ++ const char *name, void *opaque, ++ Error **errp) ++{ ++ XenArmState *xam = XEN_ARM(obj); ++ uint64_t value = xam->cfg.pcie_ecam.size; ++ ++ visit_type_uint64(v, name, &value, errp); ++} ++ ++static void xen_arm_set_pcie_ecam_size(Object *obj, Visitor *v, ++ const char *name, void *opaque, ++ Error **errp) ++{ ++ XenArmState *xam = XEN_ARM(obj); ++ uint64_t value; ++ ++ if (!visit_type_uint64(v, name, &value, errp)) { ++ return; ++ } ++ ++ xam->cfg.pcie_ecam.size = value; ++} ++ ++static void xen_arm_get_pcie_mmio_base_addr(Object *obj, Visitor *v, ++ const char *name, void *opaque, ++ Error **errp) ++{ ++ XenArmState *xam = XEN_ARM(obj); ++ uint64_t value = xam->cfg.pcie_mmio.base; ++ ++ visit_type_uint64(v, name, &value, errp); ++} ++ ++static void xen_arm_set_pcie_mmio_base_addr(Object *obj, Visitor *v, ++ const char *name, void *opaque, ++ Error **errp) ++{ ++ XenArmState *xam = XEN_ARM(obj); ++ uint64_t value; ++ ++ if (!visit_type_uint64(v, name, &value, errp)) { ++ return; ++ } ++ ++ xam->cfg.pcie_mmio.base = value; ++} ++ ++static void xen_arm_get_pcie_mmio_size(Object *obj, Visitor *v, ++ const char *name, void *opaque, ++ Error **errp) ++{ ++ XenArmState *xam = XEN_ARM(obj); ++ uint64_t value = xam->cfg.pcie_mmio.size; ++ ++ visit_type_uint64(v, name, &value, errp); ++} ++ ++static void xen_arm_set_pcie_mmio_size(Object *obj, Visitor *v, ++ const char *name, void *opaque, ++ Error **errp) ++{ ++ XenArmState *xam = XEN_ARM(obj); ++ uint64_t value; ++ ++ if (!visit_type_uint64(v, name, &value, errp)) { ++ return; ++ } ++ ++ xam->cfg.pcie_mmio.size = value; ++} ++ ++static void xen_arm_get_pcie_prefetch_base_addr(Object *obj, Visitor *v, ++ const char *name, void *opaque, ++ Error **errp) ++{ ++ XenArmState *xam = XEN_ARM(obj); ++ uint64_t value = xam->cfg.pcie_mmio_high.base; ++ ++ visit_type_uint64(v, name, &value, errp); ++} ++ ++static void xen_arm_set_pcie_prefetch_base_addr(Object *obj, Visitor *v, ++ const char *name, void *opaque, ++ Error **errp) ++{ ++ XenArmState *xam = XEN_ARM(obj); ++ uint64_t value; ++ ++ if (!visit_type_uint64(v, name, &value, errp)) { ++ return; ++ } ++ ++ xam->cfg.pcie_mmio_high.base = value; ++} ++ ++static void xen_arm_get_pcie_prefetch_size(Object *obj, Visitor *v, ++ const char *name, void *opaque, ++ Error **errp) ++{ ++ XenArmState *xam = XEN_ARM(obj); ++ uint64_t value = xam->cfg.pcie_mmio_high.size; ++ ++ visit_type_uint64(v, name, &value, errp); ++} ++ ++static void xen_arm_set_pcie_prefetch_size(Object *obj, Visitor *v, ++ const char *name, void *opaque, ++ Error **errp) ++{ ++ XenArmState *xam = XEN_ARM(obj); ++ uint64_t value; ++ ++ if (!visit_type_uint64(v, name, &value, errp)) { ++ return; ++ } ++ ++ xam->cfg.pcie_mmio_high.size = value; ++} ++ + static void xen_arm_machine_class_init(ObjectClass *oc, void *data) + { + +@@ -249,6 +478,48 @@ static void xen_arm_machine_class_init(ObjectClass *oc, void *data) + + machine_class_allow_dynamic_sysbus_dev(mc, TYPE_TPM_TIS_SYSBUS); + #endif ++ ++ object_class_property_add(oc, "pci-ecam-base-addr", "uint64_t", ++ xen_arm_get_pcie_ecam_base_addr, ++ xen_arm_set_pcie_ecam_base_addr, ++ NULL, NULL); ++ object_class_property_set_description(oc, "pci-ecam-base-addr", ++ "Set Base address for PCI ECAM."); ++ ++ object_class_property_add(oc, "pci-ecam-size", "uint64_t", ++ xen_arm_get_pcie_ecam_size, ++ xen_arm_set_pcie_ecam_size, ++ NULL, NULL); ++ object_class_property_set_description(oc, "pci-ecam-size", ++ "Set Size for PCI ECAM."); ++ ++ object_class_property_add(oc, "pci-mmio-base-addr", "uint64_t", ++ xen_arm_get_pcie_mmio_base_addr, ++ xen_arm_set_pcie_mmio_base_addr, ++ NULL, NULL); ++ object_class_property_set_description(oc, "pci-mmio-base-addr", ++ "Set Base address for PCI MMIO."); ++ ++ object_class_property_add(oc, "pci-mmio-size", "uint64_t", ++ xen_arm_get_pcie_mmio_size, ++ xen_arm_set_pcie_mmio_size, ++ NULL, NULL); ++ object_class_property_set_description(oc, "pci-mmio-size", ++ "Set size for PCI MMIO."); ++ ++ object_class_property_add(oc, "pci-prefetch-base-addr", "uint64_t", ++ xen_arm_get_pcie_prefetch_base_addr, ++ xen_arm_set_pcie_prefetch_base_addr, ++ NULL, NULL); ++ object_class_property_set_description(oc, "pci-prefetch-base-addr", ++ "Set Prefetch Base address for PCI."); ++ ++ object_class_property_add(oc, "pci-prefetch-size", "uint64_t", ++ xen_arm_get_pcie_prefetch_size, ++ xen_arm_set_pcie_prefetch_size, ++ NULL, NULL); ++ object_class_property_set_description(oc, "pci-prefetch-size", ++ "Set Prefetch size for PCI."); + } + + static const TypeInfo xen_arm_machine_type = { +diff --git a/include/hw/xen/xen_native.h b/include/hw/xen/xen_native.h +index 6f09c48823..1e81189a27 100644 +--- a/include/hw/xen/xen_native.h ++++ b/include/hw/xen/xen_native.h +@@ -539,6 +539,9 @@ static inline int xendevicemodel_set_irq_level(xendevicemodel_handle *dmod, + #define GUEST_VIRTIO_MMIO_SPI_LAST 43 + #endif + ++#define GUEST_VIRTIO_PCI_SPI_FIRST 44 ++#define GUEST_VIRTIO_PCI_SPI_LAST 48 ++ + #if defined(__i386__) || defined(__x86_64__) + #define GUEST_RAM_BANKS 2 + #define GUEST_RAM0_BASE 0x40000000ULL /* 3GB of low RAM @ 1GB */ +-- +2.30.2 + -- cgit v1.2.3-54-g00ecf From 2332efea1d009ad24fb7dc4f37d1802e6222455c Mon Sep 17 00:00:00 2001 From: Mohd Saquib Siraj Date: Sun, 3 Mar 2024 02:56:58 +0530 Subject: xilpuf-example_2024.1.bb: Added server client support and Updated the dependencies Added packageconfig API's to support server client support and updated the dependency Signed-off-by: Mohd Saquib Siraj Signed-off-by: Mark Hatle --- .../recipes-libraries/xilpuf-example_2024.1.bb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilpuf-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilpuf-example_2024.1.bb index 13b0b5d6..bbe2920b 100644 --- a/meta-xilinx-standalone-experimental/recipes-libraries/xilpuf-example_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilpuf-example_2024.1.bb @@ -2,7 +2,11 @@ inherit esw deploy ESW_COMPONENT_SRC = "/lib/sw_services/xilpuf/examples/" -DEPENDS += "xilpuf xilsecure xilmailbox xilnvm" +PACKAGECONFIG ??= "client server" +PACKAGECONFIG[client] ="-DXILPUF_Mode="client",," +PACKAGECONFIG[server] ="-DXILPUF_Mode="server",," + +DEPENDS += "xilpuf xilsecure xilmailbox xilnvm xilplmi" do_configure:prepend() { ( -- cgit v1.2.3-54-g00ecf From 1835605d4279b412e7f39366b03abdf824174d60 Mon Sep 17 00:00:00 2001 From: Mohd Saquib Siraj Date: Sun, 3 Mar 2024 02:56:59 +0530 Subject: xilpuf_2024.1.bb: Added API to support server-client mode Added packageconfig API's to support server client support and compile examples accordingly Signed-off-by: Mohd Saquib Siraj Signed-off-by: Mark Hatle --- .../recipes-libraries/xilpuf_2024.1.bb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilpuf_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilpuf_2024.1.bb index 81bee095..84765a39 100644 --- a/meta-xilinx-standalone-experimental/recipes-libraries/xilpuf_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilpuf_2024.1.bb @@ -3,4 +3,8 @@ inherit esw ESW_COMPONENT_SRC = "/lib/sw_services/xilpuf/src/" ESW_COMPONENT_NAME = "libxilpuf.a" +PACKAGECONFIG ??= "client server" +PACKAGECONFIG[client] ="-DXILPUF_Mode="client",," +PACKAGECONFIG[server] ="-DXILPUF_Mode="server",," + DEPENDS += "libxil xiltimer ${@'xilplmi' if d.getVar('ESW_MACHINE') == 'psv_pmc_0' else 'xilmailbox'}" -- cgit v1.2.3-54-g00ecf From a7390cd949ffcc30b10a712961a56197e3056fd4 Mon Sep 17 00:00:00 2001 From: Mohd Saquib Siraj Date: Sun, 3 Mar 2024 02:57:00 +0530 Subject: xilnvm-example_2024.1.bb: Added API's to support server-client mode Added packageconfig API's to support server-client mode switching and build examples accordingly Signed-off-by: Mohd Saquib Siraj Signed-off-by: Mark Hatle --- .../recipes-libraries/xilnvm-example_2024.1.bb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilnvm-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilnvm-example_2024.1.bb index a4a81c8b..bd001f64 100644 --- a/meta-xilinx-standalone-experimental/recipes-libraries/xilnvm-example_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilnvm-example_2024.1.bb @@ -2,6 +2,10 @@ inherit esw deploy ESW_COMPONENT_SRC = "/lib/sw_services/xilnvm/examples/" +PACKAGECONFIG ??= "client server" +PACKAGECONFIG[client] ="-DXILNVM_mode="client",," +PACKAGECONFIG[server] ="-DXILNVM_mode="server",," + DEPENDS += "xilnvm" do_configure:prepend() { -- cgit v1.2.3-54-g00ecf From 8aa1b2eca8419cf4216a19a2242fb91e45162dad Mon Sep 17 00:00:00 2001 From: Mohd Saquib Siraj Date: Sun, 3 Mar 2024 02:57:01 +0530 Subject: xilnvm_2024.1.bb: Added API's to support server client mode Added packageconfig API's to support server client mode and build examples accordingly Signed-off-by: Mohd Saquib Siraj Signed-off-by: Mark Hatle --- .../recipes-libraries/xilnvm_2024.1.bb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilnvm_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilnvm_2024.1.bb index bed2c78e..8aa1250d 100644 --- a/meta-xilinx-standalone-experimental/recipes-libraries/xilnvm_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilnvm_2024.1.bb @@ -3,4 +3,8 @@ inherit esw ESW_COMPONENT_SRC = "/lib/sw_services/xilnvm/src/" ESW_COMPONENT_NAME = "libxilnvm.a" +PACKAGECONFIG ??= "client server" +PACKAGECONFIG[client] ="-DXILNVM_mode="client",," +PACKAGECONFIG[server] ="-DXILNVM_mode="server",," + DEPENDS += "libxil xiltimer ${@'xilplmi' if d.getVar('ESW_MACHINE') == 'psv_pmc_0' else 'xilmailbox'}" -- cgit v1.2.3-54-g00ecf From 20853258388ea7bdfc9bb9e0d5676eb9ff5a1ea6 Mon Sep 17 00:00:00 2001 From: Mohd Saquib Siraj Date: Sun, 3 Mar 2024 02:57:02 +0530 Subject: xilsecure-example_2024.1.bb: Added API's to support server client mode Added packageconfig API's to support server client mode and build examples accordingly Signed-off-by: Mohd Saquib Siraj Signed-off-by: Mark Hatle --- .../recipes-libraries/xilsecure-example_2024.1.bb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilsecure-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilsecure-example_2024.1.bb index 993794b5..a2b4b7a5 100644 --- a/meta-xilinx-standalone-experimental/recipes-libraries/xilsecure-example_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilsecure-example_2024.1.bb @@ -2,6 +2,10 @@ inherit esw deploy ESW_COMPONENT_SRC = "/lib/sw_services/xilsecure/examples/" +PACKAGECONFIG ??= "client server" +PACKAGECONFIG[client] ="-DXILSECURE_mode="client",," +PACKAGECONFIG[server] ="-DXILSECURE_mode="server",," + DEPENDS += "xilsecure" do_configure:prepend() { -- cgit v1.2.3-54-g00ecf From 6e355fd746f1bc38be95876deb2a3677cb85142a Mon Sep 17 00:00:00 2001 From: Mohd Saquib Siraj Date: Sun, 3 Mar 2024 02:57:04 +0530 Subject: xilplmi_2024.1: Updated the dependency Updated the dependency to include xilmailbox conditionally so as to build xilpuf examples Signed-off-by: Mohd Saquib Siraj Signed-off-by: Mark Hatle --- meta-xilinx-standalone-experimental/recipes-libraries/xilplmi_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilplmi_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilplmi_2024.1.bb index 61a5cef0..cb3b7831 100644 --- a/meta-xilinx-standalone-experimental/recipes-libraries/xilplmi_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilplmi_2024.1.bb @@ -3,4 +3,4 @@ inherit esw ESW_COMPONENT_SRC = "/lib/sw_services/xilplmi/src/" ESW_COMPONENT_NAME = "libxilplmi.a" -DEPENDS += "xilstandalone libxil cfupmc xiltimer" +DEPENDS += "xilstandalone libxil cfupmc xiltimer ${@'xilmailbox' if d.getVar('ESW_MACHINE') == 'psv_cortexa72_0' or d.getVar('ESW_MACHINE') == 'psv_cortexr5_0' else ''}" -- cgit v1.2.3-54-g00ecf From 1c8cb60444e8e5170a46ae8a5657e164f6657f37 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Tue, 5 Mar 2024 19:38:36 -0600 Subject: xrt: Disable AIE profiling and related The AIE software interfaces are changing in an incompatible way. Disabled the usage of these interfaces until the new usage is available. Signed-off-by: Mark Hatle --- .../recipes-xrt/xrt/xrt/disable_aie_profiling.patch | 17 +++++++++++++++++ meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb | 2 ++ 2 files changed, 19 insertions(+) create mode 100644 meta-xilinx-core/recipes-xrt/xrt/xrt/disable_aie_profiling.patch diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt/disable_aie_profiling.patch b/meta-xilinx-core/recipes-xrt/xrt/xrt/disable_aie_profiling.patch new file mode 100644 index 00000000..f2f63470 --- /dev/null +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt/disable_aie_profiling.patch @@ -0,0 +1,17 @@ +diff --git a/src/runtime_src/xdp/profile/plugin/CMakeLists.txt b/src/runtime_src/xdp/profile/plugin/CMakeLists.txt +index 8ef7a2f..9b8baac 100644 +--- a/src/runtime_src/xdp/profile/plugin/CMakeLists.txt ++++ b/src/runtime_src/xdp/profile/plugin/CMakeLists.txt +@@ -33,9 +33,9 @@ if (NOT WIN32) + # ========================================================= + # The plugins to be built on Linux only + # ========================================================= +-add_subdirectory(aie_status) +-add_subdirectory(aie_profile) +-add_subdirectory(aie_trace) ++#add_subdirectory(aie_status) ++#add_subdirectory(aie_profile) ++#add_subdirectory(aie_trace) + add_subdirectory(device_offload/hw_emu) + add_subdirectory(noc) + add_subdirectory(power) diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb b/meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb index 48454538..bd6f3796 100644 --- a/meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb @@ -3,6 +3,8 @@ DESCRIPTION = "Xilinx Runtime User Space Libraries and headers" require xrt.inc +SRC_URI += "file://disable_aie_profiling.patch;striplevel=2" + LICENSE = "GPL-2.0-or-later & Apache-2.0 & MIT" LIC_FILES_CHKSUM = "file://../LICENSE;md5=de2c993ac479f02575bcbfb14ef9b485 \ file://runtime_src/core/edge/drm/zocl/LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8 \ -- cgit v1.2.3-54-g00ecf From 4758faefd3ed8b9a8d108a7e206edaaf957b7e7a Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Wed, 28 Feb 2024 11:33:51 +0530 Subject: aie-rt : Updated SRCREV for 2024.1_7655 fal: tests: utests: Remove reference to XAie_UserRsc in test cases fal: src: Complete functionality of AIEFAL resource manager fal: src: Port broadcast class to make requests to FAL resource manager fal: src: Port Trace classes to make resource requests from FAL resource manager. fal: src: rsc: Make sure to clear vRscs if request unsuccessful fal: Port PC Events and PC Range classes to request from FAL resource manager fal: src: rsc: Port performance counter classes to request from FAL resource manager fal: Port Stream switch event port select to make resource requests from FAL. fal: Port Group Event class to make resource requests to FAL resource manager fal: Port Combo Events to request from FAL resource manager fal: src: Port User Events to request from FAL resource manager fal: Adds FAL resource manager driver: src: io_backend: Add backend operation to get partition file descriptor driver: src: interrupt: Remove internal resource requests from interrupt handling driver: src: Remove resource manager requests for ECC driver: src: Remove resource requests from XAie_TimerSync Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index a45ecf99..35ea184e 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "main-aie" -SRCREV ?= "a6e2fe31b0307fa952ac47108c4b8c869480bae7" +SRCREV ?= "f6e637be90b7bc549765951664f565080e5bb6e9" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From 7afb045d2cda3dd1e2690acec83f5bd90bdafe7a Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 6 Mar 2024 17:11:46 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_4763 arm64: zynqmp: Add description for SC on vm-p-m1369 board arm64: zynqmp: Remove additional compatible string for sc-revB arm64: zynqmp: Fix gpio-key DT description arm64: zynqmp: Add usb4 to the boot targets arm64: zynqmp: use wakeup interrupt-name for dwc3 hibernation arm64: zynqmp: Start TPM automatically via preboot on Kria --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index 5abda3d1..82220ce8 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2024.01" UBRANCH = "xlnx_rebase_v2024.01" -SRCREV = "ade8a841f4d2e61e03935dd8d4ef357d6d2a7239" +SRCREV = "d0f74d71bf3d7298437243bdc20ee2351116fb8d" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From b0fc8715c663f9ff00030567a9e72c65b5c40ee7 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 7 Mar 2024 13:00:28 +0530 Subject: linux-xlnx : Updated SRCREV for 2024.1_6147 dt-bindings: soc: xilinx: Fix zcu1275 board description dt-bindings: soc: xilinx: Describe ZynqMP system controller dt-bindings: soc: xilinx: Add support for KV260 CC arm64: zynqmp: use wakeup interrupt-name for dwc3 hibernation arm64: versal-net: Align spi-max-frequency for ipp-rev1.9 arm64: zynqmp: Add description for SC on vm-p-m1369 board EDAC/versal: Fix the error injection mtd: spi-nor: Store GPIO info for resetting device during resume net: axienet: Phylink support for 10G/25G (XXV) ethernet usb: dwc3: gadget: switch to wakeup interrupt name for hibernation support Revert "dt-bindings: usb: dwc3: Add interrupt-names to include hibernation interrupt" arm64: zynqmp: Remove additional compatible string for sc-revB arm64: zynqmp: Fix gpio-key DT description dt-bindings: fpga: Convert fpga-region binding to yaml dt-bindings: firmware: xilinx: Describe soc-nvmem subnode dt-bindings: firmware: xilinx: Describe missing child nodes dt-bindings: mailbox: add Versal IPI bindings dt-bindings: mailbox: zynqmp: extend required list dt-bindings: zynqmp: add destination mailbox compatible dt-bindings: pinctrl: xilinx: Rename *gpio to *gpio-grp dt-bindings: serial: Describe ARM dcc interface spi: spi-cadence-quadspi: Fix call trace during suspend/resume mtd: spi-nor: Check spi controller 4-byte addressing capability spi: spi-zynq-qspi: Export spi controller 4-byte addressing capability mtd: spi-nor: macronix: Add support for MX66UM2G45G Macronix flash part --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index eac02a24..a228db8b 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.6.10" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.6;destsuffix=yocto-kmeta" KBRANCH="xlnx_rebase_v6.6_LTS" -SRCREV = "a33033bade7432af01ed916b9dd7fc6e484d91b9" +SRCREV = "6405a689e2110c1d601d331462c88b87997ff46f" SRCREV_meta = "5d0809d0d939c7738cb6e5391126c73fd0e4e865" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From c2cf981f67cc7c6989a4c728c5538aacf10a480d Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 7 Mar 2024 18:55:17 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_4539 xilplmi: Set LogCdoOffset by default in JTAG boot mode xilpm:versal-net: Add support to restore PGGS and GGS devices sw_services:xilnvm:Added support for eFuse programming from linux sw_services: xilpuf: Added support to compile example in Yocto Flow sw_services: xilnvm: Added support to compile example in Yocto Flow xilloader: Make SD drive number logic order independent dsitxss: Update yaml and application to support unified flow mipicsiss: Update yaml and examples for Unified flow. sw_apps: memory_tests: Fix prints for 32 bit platforms BSP: Support printing 64 bit variables from 32 bit platforms BSP: riscv: Add support for standard C input output functions sw_services: xilskey: Added support to compile example in Yocto Flow sw_services: xilsecure: Added support to compile example in Yocto Flow trngpsx: Fix issue in PRNG set and reset sw_services:xilsecure:Updated parameter description for XSecure_IsNonZeroBuffer xilsem: Fixed Event notification issue in XilSEM Client examples. psmfw: Add psmfw update to rigel build flow sw_services: xil_timer: Update sleep timer for APU processors. sw_services: xilplmi: Restore CUSTOM error actions handled by PLM after In-place PLM update BSP: cortexr5: Add new structure for initializing MPU regions dp21txss:dp21rxss:Modified the dp21 txo and rxo applications dfeofdm: Correct sw major/minor version numbers dfeccf: Update version number in makefiles dfemix: Update version number in makefiles Add Authentication Optimization support for MetaHeader Revert "Revert "sysmonpsv: Added SSIT Support"" xilpm: versal: server: Fix bug in checking for device parent is NPD Revert "sysmonpsv: Added SSIT Support" --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index a3798e67..17d595a6 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "73f0904e41cc109f18bb19a5329d0e5a66af2434" -ESW_REV[2024.1] = "d127712975e2c01d9893f7628727f1f2472da65d" +ESW_REV[2024.1] = "7a819824db758891fede738bd35170c54473e954" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From d837883aafbdc1c627425e64a7fb438b3cfc15ee Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 7 Mar 2024 18:59:25 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_8243 mtd: nand: arasan: Fix the crash caused by use after free mtd: nand: arasan: Print warning for unsupported ecc modes --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index 82220ce8..68d5b867 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2024.01" UBRANCH = "xlnx_rebase_v2024.01" -SRCREV = "d0f74d71bf3d7298437243bdc20ee2351116fb8d" +SRCREV = "d8082d680ae85ae8b824a61c1f0ff14652dc93e0" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From 4ede3fb1dc9418f5a5e00982bd82290a9d425adf Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 7 Mar 2024 18:59:54 +0530 Subject: libmetal : Updated SRCREV for 2024.1_2435 lib: system: MPU flag check fix for xilinx platform FreeRTOS Avoid mem mapping in MPU for region mapped --- .../openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb index 651a2d53..ca447615 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb @@ -1,5 +1,5 @@ SRCBRANCH ?= "2024" -SRCREV = "9730018001c48398d72418c5e7b596738181fff9" +SRCREV = "e2fdb4fecbebe41b4cd1c0b4fbfa3496bcded485" BRANCH = "2024" LIC_FILES_CHKSUM ?= "file://LICENSE.md;md5=f4d5df0f12dcea1b1a0124219c0dbab4" PV = "${SRCBRANCH}+git${SRCPV}" -- cgit v1.2.3-54-g00ecf From 235acbf7263b35d5662ad27aec56fcfb5643cea0 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 7 Mar 2024 19:02:26 +0530 Subject: aie-rt : Updated SRCREV for 2024.1_3263 driver:src:Moved the declaration to correct header. --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index 35ea184e..2bc39ce2 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "main-aie" -SRCREV ?= "f6e637be90b7bc549765951664f565080e5bb6e9" +SRCREV ?= "1412110f75e8748a2e6b35de0c4853b403b3d1f5" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From eeec7d93fbb5b8fd96cb8eb53caac4145ae496b1 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Sat, 9 Mar 2024 12:47:03 +0530 Subject: dts : Updated SRCREV for 2024.1_2415 vpk180: Place default memory of 8Gb for DDR2 --- meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb index 148b00d7..c4fc180e 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb @@ -2,5 +2,5 @@ require qemu-devicetrees.inc BRANCH ?= "master" -SRCREV ?= "b95c8177bb8b38cb3632aa574db6f2a395482f90" +SRCREV ?= "c54a1cfb7076aaf8abdfe50e89245b37cdb1c077" -- cgit v1.2.3-54-g00ecf From 2c3586f8c2beff111901c7de76963e0d5ee24392 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Sat, 9 Mar 2024 12:56:06 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_8459 sw_apps: imgsel: versal image selector build failure fix Revert "Add Authentication Optimization support for MetaHeader" i3c: Correct byte count return type i3c: Add data comparison check and msb byte assignment in examples v_hdmirxss1: Fix yaml file for pass-through app on vck190 dp14rxss: examples: Update self_test_example for new sdt flow. dp14txss: examples: Fix yaml for eeprom utility application example dp12txss: Fix yaml file for tx_only example applcation for zcu102 axicdma: Revise the interrupt attribute in yaml --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 17d595a6..dab02a5b 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "73f0904e41cc109f18bb19a5329d0e5a66af2434" -ESW_REV[2024.1] = "7a819824db758891fede738bd35170c54473e954" +ESW_REV[2024.1] = "62ef435cd5601d276aaa5da9c72cbe1532dbf352" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From e154cddc779703125bcd144716dea61e12cc96e9 Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Mon, 11 Mar 2024 12:30:13 +0530 Subject: Updated Commit ID kconfig_syshw: Update serial baudrate Kconfig help plnx_machine.py: Update RAMDISK_IMAGE name for xen --- meta-xilinx-core/gen-machine-conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf index e2e84157..03a8ddc0 160000 --- a/meta-xilinx-core/gen-machine-conf +++ b/meta-xilinx-core/gen-machine-conf @@ -1 +1 @@ -Subproject commit e2e841576d70e875f8209b9734df44501c1967d0 +Subproject commit 03a8ddc0d53a3809719ab43cff47a5d6278c33d6 -- cgit v1.2.3-54-g00ecf From a3ab3824dc3127fe1a9f03e2b6156e2deab7c923 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 11 Mar 2024 12:55:58 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_7755 xilsem: Fixed IPI notification for SDT flow. openamp: apps: Enable DDR sections to be configured from command line xilplmi: Corrected debug level XilSEM options for VP1902 device. xilsem: Enable XilSEM macros for VP1902 device. lib: bsp: standalone: Add examples in yaml file lib: bsp: standalone: Fix xil_nested_interrupts_example compilation error ipipsu: Add Doxygen fixes sw_services:xilplmi:Modification is done to consider error in S-SLR PMC CDO --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index dab02a5b..96112685 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "73f0904e41cc109f18bb19a5329d0e5a66af2434" -ESW_REV[2024.1] = "62ef435cd5601d276aaa5da9c72cbe1532dbf352" +ESW_REV[2024.1] = "69d24c5a0f40a403004ced79a7c3c2cedd424049" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 4bb65e36181ea0c23689dceb802e2e41083c771d Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Thu, 7 Mar 2024 13:00:29 -0600 Subject: xlnx-embeddedsw: Move to xlnx_rel_v2024.1-next branch Signed-off-by: Mark Hatle --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 96112685..cf4a6432 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -6,7 +6,7 @@ REPO ??= "git://github.com/Xilinx/embeddedsw.git;protocol=https" ESW_BRANCH[git] = "master" ESW_BRANCH[2023.1] = "xlnx_rel_v2023.1_update" ESW_BRANCH[2023.2] = "xlnx_rel_v2023.2_update" -ESW_BRANCH[2024.1] = "master-next" +ESW_BRANCH[2024.1] = "xlnx_rel_v2024.1-next" BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" @@ -22,7 +22,7 @@ LICENSE = "MIT" LIC_FILES_CHKSUM[master] = '9fceecdbcad88698f265578f3d4cb26c' LIC_FILES_CHKSUM[xlnx_rel_v2023.1_update] = '3c310a3ee2197a4c92c6a0e2937c207c' LIC_FILES_CHKSUM[xlnx_rel_v2023.2_update] = '9fceecdbcad88698f265578f3d4cb26c' -LIC_FILES_CHKSUM[master-next] = '9fceecdbcad88698f265578f3d4cb26c' +LIC_FILES_CHKSUM[xlnx_rel_v2024.1-next] = '9fceecdbcad88698f265578f3d4cb26c' LIC_FILES_CHKSUM ??= "file://license.txt;md5=${@d.getVarFlag('LIC_FILES_CHKSUM', d.getVar('BRANCH')) or '0'}" SRC_URI = "${EMBEDDEDSW_SRCURI}" -- cgit v1.2.3-54-g00ecf From 6c362ef9df8060bcf5d3b0dd51eb024e62598fcb Mon Sep 17 00:00:00 2001 From: Appana Durga Kedareswara rao Date: Wed, 6 Mar 2024 16:23:01 +0530 Subject: meta-xilinx-standalone-experimental: recipes-libraries: libxil: Remove libmetal dependent drivers from machine_features Remove the libmetal library dependent drivers from machine_features, Consumers of these drivers should explicitly include dependency in their recipes. Signed-off-by: Appana Durga Kedareswara rao Signed-off-by: Mark Hatle --- meta-xilinx-standalone-experimental/recipes-libraries/libxil_2024.1.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/libxil_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-libraries/libxil_2024.1.bb index eb24e1e1..2eb08307 100644 --- a/meta-xilinx-standalone-experimental/recipes-libraries/libxil_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-libraries/libxil_2024.1.bb @@ -25,6 +25,7 @@ ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/" ESW_COMPONENT_NAME = "libxil.a" DEPENDS += "xilstandalone " +MACHINE_FEATURES:remove = "aiengine dfeccf dfeequ dfemix dfeprach rfdc dfeofdm" REQUIRED_MACHINE_FEATURES = "${MACHINE_FEATURES}" PACKAGECONFIG ?= "${MACHINE_FEATURES}" -- cgit v1.2.3-54-g00ecf From 89bca47b1da3e125f9901d9f59939ee2c653521a Mon Sep 17 00:00:00 2001 From: Appana Durga Kedareswara rao Date: Thu, 7 Mar 2024 14:59:18 +0530 Subject: lopper: Update srcrev for 2024.1 Below are the updates lopper: assits: bmcmake_metadata_xlnx: Fix CMAKE_MACHINE value for versal platform lopper: assists: baremetal_validate_comp_xlnx: Add special handling for emacps assists:baremetallinker: Correct the logic to set the start address of linker section for microblaze assists: baremetallinker: Correct the start address for text and data sections for microblaze assists: baremetalconfig: Correct the size for 32bit cell size boundary condition lopper: assists: baremetallinker_xlnx: Update default heap size for microblaze processor lopper: assists: baremetal_validate_comp_xlnx: Add assist to validate the hardware required for a given ESW component lopper: assists: gen_domain_dts: Update don't delete properties list lopper: assists: preserve the device-tree node order Signed-off-by: Appana Durga Kedareswara rao Signed-off-by: Mark Hatle --- .../virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend index 0abf3831..a3eef68c 100644 --- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend @@ -1,5 +1,5 @@ SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=master;protocol=https" -SRCREV = "212686cddca66650e009b03040fb1d4c12c19768" +SRCREV = "ef5524b4df5d8b5f5606f258a8ad352bf53711da" FILESEXTRAPATHS:prepend := "${THISDIR}/lopper:" -- cgit v1.2.3-54-g00ecf From 759789c1437dcb45596d083380a70fd6a3a390d4 Mon Sep 17 00:00:00 2001 From: Raju Kumar Pothuraju Date: Wed, 6 Mar 2024 14:24:05 +0530 Subject: gen-machine-conf: Move to github url and latest branch Move the gen-machineconf to github url and update to latest branch and commit. Signed-off-by: Raju Kumar Pothuraju Signed-off-by: Mark Hatle --- .gitmodules | 4 ++-- meta-xilinx-core/gen-machine-conf | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitmodules b/.gitmodules index 23c05b53..5e671383 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,4 @@ [submodule "gen-machine-conf"] path = meta-xilinx-core/gen-machine-conf - url = https://gitenterprise.xilinx.com/Petalinux/gen-machine-conf.git - branch = master + url = https://github.com/Xilinx/gen-machine-conf.git + branch = xlnx_rel_v2023.2 diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf index 03a8ddc0..911941fc 160000 --- a/meta-xilinx-core/gen-machine-conf +++ b/meta-xilinx-core/gen-machine-conf @@ -1 +1 @@ -Subproject commit 03a8ddc0d53a3809719ab43cff47a5d6278c33d6 +Subproject commit 911941fc094dc0073c2f01a2b94de3cc6e993fe3 -- cgit v1.2.3-54-g00ecf From b3a4cd0485e11bcdea6471524d8db3b90aad0281 Mon Sep 17 00:00:00 2001 From: Conall O'Griofa Date: Thu, 7 Mar 2024 22:18:07 +0000 Subject: meta-xilinx-standalone-experimental: Update dfeccf-example recipe Changes in libxil now require libmetal drivers' examples to depend on the respective driver. Signed-off-by: Conall O'Griofa Signed-off-by: Mark Hatle --- .../recipes-drivers/dfeccf-example_2024.1.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfeccf-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dfeccf-example_2024.1.bb index 84f6c560..fd01b757 100644 --- a/meta-xilinx-standalone-experimental/recipes-drivers/dfeccf-example_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-drivers/dfeccf-example_2024.1.bb @@ -3,4 +3,6 @@ inherit esw_examples features_check REQUIRED_MACHINE_FEATURES = "dfeccf" +DEPENDS += " dfeccf" + ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dfeccf/examples/" -- cgit v1.2.3-54-g00ecf From f477834fe2e5cb1cb250926bd29f8888497eb85f Mon Sep 17 00:00:00 2001 From: Conall O'Griofa Date: Thu, 7 Mar 2024 22:18:08 +0000 Subject: meta-xilinx-standalone-experimental: Update dfeequ-example recipe Changes in libxil now require libmetal drivers' examples to depend on the respective driver. Signed-off-by: Conall O'Griofa Signed-off-by: Mark Hatle --- .../recipes-drivers/dfeequ-example_2024.1.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfeequ-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dfeequ-example_2024.1.bb index 024477c3..0f4d45be 100644 --- a/meta-xilinx-standalone-experimental/recipes-drivers/dfeequ-example_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-drivers/dfeequ-example_2024.1.bb @@ -3,4 +3,6 @@ inherit esw_examples features_check REQUIRED_MACHINE_FEATURES = "dfeequ" +DEPENDS += " dfeequ" + ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dfeequ/examples/" -- cgit v1.2.3-54-g00ecf From f9e350f4d0acce991678706892a0d57abda044c2 Mon Sep 17 00:00:00 2001 From: Conall O'Griofa Date: Thu, 7 Mar 2024 22:18:09 +0000 Subject: meta-xilinx-standalone-experimental: Update dfemix-example recipe Changes in libxil now require libmetal drivers' examples to depend on the respective driver. Signed-off-by: Conall O'Griofa Signed-off-by: Mark Hatle --- .../recipes-drivers/dfemix-example_2024.1.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfemix-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dfemix-example_2024.1.bb index 4854c112..9149e9c4 100644 --- a/meta-xilinx-standalone-experimental/recipes-drivers/dfemix-example_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-drivers/dfemix-example_2024.1.bb @@ -3,4 +3,6 @@ inherit esw_examples features_check REQUIRED_MACHINE_FEATURES = "dfemix" +DEPENDS += " dfemix" + ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dfemix/examples/" -- cgit v1.2.3-54-g00ecf From 185a350559edb6a8f3df2f88119d4c5961fe3d9c Mon Sep 17 00:00:00 2001 From: Conall O'Griofa Date: Thu, 7 Mar 2024 22:18:10 +0000 Subject: meta-xilinx-standalone-experimental: Update dfeofdm-example recipe Changes in libxil now require libmetal drivers' examples to depend on the respective driver. Signed-off-by: Conall O'Griofa Signed-off-by: Mark Hatle --- .../recipes-drivers/dfeofdm-example_2024.1.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfeofdm-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dfeofdm-example_2024.1.bb index e26f541b..661c2768 100644 --- a/meta-xilinx-standalone-experimental/recipes-drivers/dfeofdm-example_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-drivers/dfeofdm-example_2024.1.bb @@ -3,4 +3,6 @@ inherit esw_examples features_check REQUIRED_MACHINE_FEATURES = "dfeofdm" +DEPENDS += " dfeofdm" + ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dfeofdm/examples/" -- cgit v1.2.3-54-g00ecf From 3c28c12df6ef0ba98491ec22103a49ac9ab76157 Mon Sep 17 00:00:00 2001 From: Conall O'Griofa Date: Thu, 7 Mar 2024 22:18:11 +0000 Subject: meta-xilinx-standalone-experimental: Update dfeprach-example recipe Changes in libxil now require libmetal drivers' examples to depend on the respective driver. Signed-off-by: Conall O'Griofa Signed-off-by: Mark Hatle --- .../recipes-drivers/dfeprach-example_2024.1.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/dfeprach-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/dfeprach-example_2024.1.bb index 2a8e5d74..10ac2029 100644 --- a/meta-xilinx-standalone-experimental/recipes-drivers/dfeprach-example_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-drivers/dfeprach-example_2024.1.bb @@ -3,4 +3,6 @@ inherit esw_examples features_check REQUIRED_MACHINE_FEATURES = "dfeprach" +DEPENDS += " dfeprach" + ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/dfeprach/examples/" -- cgit v1.2.3-54-g00ecf From e7bed7fa4b8a484ac0a752f24b5441b9580bd28d Mon Sep 17 00:00:00 2001 From: Conall O'Griofa Date: Thu, 7 Mar 2024 22:18:12 +0000 Subject: meta-xilinx-standalone-experimental: Update rfdc-example recipe Changes in libxil now require libmetal drivers' examples to depend on the respective driver. Signed-off-by: Conall O'Griofa Signed-off-by: Mark Hatle --- .../recipes-drivers/rfdc-example_2024.1.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-xilinx-standalone-experimental/recipes-drivers/rfdc-example_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-drivers/rfdc-example_2024.1.bb index 2c6bbdd1..973e5177 100644 --- a/meta-xilinx-standalone-experimental/recipes-drivers/rfdc-example_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-drivers/rfdc-example_2024.1.bb @@ -3,4 +3,6 @@ inherit esw_examples features_check REQUIRED_MACHINE_FEATURES = "rfdc" +DEPENDS += " rfdc" + ESW_COMPONENT_SRC = "/XilinxProcessorIPLib/drivers/rfdc/examples/" -- cgit v1.2.3-54-g00ecf From 7a52d1c22001e98471229aff49b3a7bc29271aab Mon Sep 17 00:00:00 2001 From: Mohd Saquib Siraj Date: Fri, 8 Mar 2024 10:07:46 +0530 Subject: xilsecure_2024.1.bb: Updated the dependencies and added server-client support Updated the dependency to support xilsecure example build for APU cores and added server-client support by implementing PACKAGECONFIG API's Signed-off-by: Mohd Saquib Siraj Signed-off-by: Mark Hatle --- .../recipes-libraries/xilsecure_2024.1.bb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilsecure_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilsecure_2024.1.bb index c7a0a188..be22ba90 100644 --- a/meta-xilinx-standalone-experimental/recipes-libraries/xilsecure_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilsecure_2024.1.bb @@ -3,7 +3,11 @@ inherit esw ESW_COMPONENT_SRC = "/lib/sw_services/xilsecure/src/" ESW_COMPONENT_NAME = "libxilsecure.a" -DEPENDS += "libxil xiltimer ${@'xilplmi' if d.getVar('ESW_MACHINE') == 'psv_pmc_0' else ''} ${@'xilmailbox' if d.getVar('ESW_MACHINE') == 'psv_cortexa72_0' or d.getVar('ESW_MACHINE') == 'psv_cortexr5_0' else ''}" +PACKAGECONFIG ??= "client server" +PACKAGECONFIG[client] ="-DXILSECURE_mode="client",," +PACKAGECONFIG[server] ="-DXILSECURE_mode="server",," + +DEPENDS += "libxil xiltimer ${@'xilplmi' if d.getVar('ESW_MACHINE') == 'psv_pmc_0' or d.getVar('ESW_MACHINE') == 'psv_cortexa72_0' or d.getVar('ESW_MACHINE') == 'psv_cortexr5_0' else ''} ${@'xilmailbox' if d.getVar('ESW_MACHINE') == 'psv_cortexa72_0' or d.getVar('ESW_MACHINE') == 'psv_cortexr5_0' else ''}" do_install:append() { install -m 0755 ${B}/*.a ${D}${libdir} -- cgit v1.2.3-54-g00ecf From 5599da1f076e660617783d1838aa8985ba035299 Mon Sep 17 00:00:00 2001 From: Nava kishore Manne Date: Fri, 8 Mar 2024 14:16:49 +0530 Subject: fpgautil: Add proper validation checks for the user params Add proper validation checks for the user inputs(bitstream and Overlay files) and it also updates the error handling logic to provide the proper error messages. Signed-off-by: Nava kishore Manne Signed-off-by: Mark Hatle --- .../fpga-manager-script/files/fpgautil.c | 36 ++++++++++++++++++++-- .../fpga-manager-script/fpga-manager-script_1.0.bb | 2 +- 2 files changed, 35 insertions(+), 3 deletions(-) diff --git a/meta-xilinx-core/recipes-bsp/fpga-manager-script/files/fpgautil.c b/meta-xilinx-core/recipes-bsp/fpga-manager-script/files/fpgautil.c index 04777a91..281e1828 100644 --- a/meta-xilinx-core/recipes-bsp/fpga-manager-script/files/fpgautil.c +++ b/meta-xilinx-core/recipes-bsp/fpga-manager-script/files/fpgautil.c @@ -1,7 +1,7 @@ /****************************************************************************** * * Copyright (C) 2019-2022 Xilinx, Inc. All rights reserved. - * Copyright (C) 2022 Advanced Micro Devices, Inc. All rights reserved. + * Copyright (C) 2022-2024 Advanced Micro Devices, Inc. All rights reserved. * * Permission is hereby granted, free of charge, to any person obtaining a copy of * this software and associated documentation files (the "Software"), to deal in @@ -75,6 +75,20 @@ int fpga_getplatform() } +static bool file_exists(const char *filename) +{ + FILE *fp = fopen(filename, "r"); + bool is_exist = false; + + if (fp != NULL) + { + is_exist = true; + fclose(fp); // close the file + } + + return is_exist; +} + void print_usage(char *prg) { int iszynqmp = fpga_getplatform(); @@ -252,6 +266,12 @@ int main(int argc, char **argv) struct stat sb; double time; struct timeval t1, t0; + uid_t euid = geteuid(); + + if (euid) { + printf("Error: This binary requires root access to execute. \n"); + return 0; + } if (argc == 1) { print_usage(basename(argv[0])); @@ -262,10 +282,18 @@ int main(int argc, char **argv) switch (opt) { case 'o': overlay = optarg; + if (!file_exists(overlay)) { + printf("Error: User provided Overlay file doesn't exist\r\n"); + return 1; + } flow = OVERLAY; break; case 'b': binfile = optarg; + if (!file_exists(binfile)) { + printf("Error: User provided bitstream file doesn't exist\r\n"); + return 1; + } if (!(flow == OVERLAY)) flow = FPGA_SYSFS; break; @@ -415,7 +443,11 @@ int main(int argc, char **argv) if (binfile != NULL) { if (!fpga_state()) { printf("Time taken to load BIN is %f Milli Seconds\n\r", time); - printf("BIN FILE loaded through FPGA manager successfully\n\r"); + if (ret) { + printf("BIN FILE loaded through FPGA manager successfull but failed to apply Overlay\n\r"); + } else { + printf("BIN FILE loaded through FPGA manager successfully\n\r"); + } } else { printf("BIN FILE loading through FPGA manager failed\n\r"); } diff --git a/meta-xilinx-core/recipes-bsp/fpga-manager-script/fpga-manager-script_1.0.bb b/meta-xilinx-core/recipes-bsp/fpga-manager-script/fpga-manager-script_1.0.bb index d22c995c..b9a36d77 100644 --- a/meta-xilinx-core/recipes-bsp/fpga-manager-script/fpga-manager-script_1.0.bb +++ b/meta-xilinx-core/recipes-bsp/fpga-manager-script/fpga-manager-script_1.0.bb @@ -1,7 +1,7 @@ SUMMARY = "Install user script to support fpga-manager" DESCRIPTION = "Install user script that loads and unloads overlays using kernel fpga-manager" LICENSE = "Proprietary" -LIC_FILES_CHKSUM = "file://${WORKDIR}/fpgautil.c;beginline=1;endline=24;md5=0c02eabf57dba52842c5df9b96bccfae" +LIC_FILES_CHKSUM = "file://${WORKDIR}/fpgautil.c;beginline=1;endline=24;md5=0dbf04c2c1026b3d120136e728b7a09f" SRC_URI = "\ file://fpgautil.c \ -- cgit v1.2.3-54-g00ecf From a4744150a18235b31ac4ecabd4cac9a1657d27e1 Mon Sep 17 00:00:00 2001 From: Appana Durga Kedareswara rao Date: Mon, 11 Mar 2024 19:36:25 +0530 Subject: lopper: srcrev update for 2024.1 Below are the updates lopper: assists: xlnx_overlay_dt: Handle phandle properties in a specific way assists:gen_domain_dts.py: Remove PL DDR from default linux device tree lopper: assists: gen_domain_dts: Prune clocking wizard setup: update description and python version version: update to v1.2.0 lops: lop-microblaze-riscv: Add support for bit-manipulation extensions Signed-off-by: Appana Durga Kedareswara rao Signed-off-by: Mark Hatle --- .../virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend index a3eef68c..92af8a7a 100644 --- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend @@ -1,5 +1,5 @@ SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=master;protocol=https" -SRCREV = "ef5524b4df5d8b5f5606f258a8ad352bf53711da" +SRCREV = "4b687525d2c4785eedbcbd73431bc6d236cb5bc8" FILESEXTRAPATHS:prepend := "${THISDIR}/lopper:" -- cgit v1.2.3-54-g00ecf From b5e295e38e2f81737f04e2991c232a8786a39f34 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 13 Mar 2024 13:00:36 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_1683 arm64: zynqmp: Remove snps,enable_guctl1_ipd_quirk property arm64: gic: Add power up sequence for GIC-600 dwc3: Get the ref clock from the child node(dwc3) --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index 68d5b867..52d34fa6 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2024.01" UBRANCH = "xlnx_rebase_v2024.01" -SRCREV = "d8082d680ae85ae8b824a61c1f0ff14652dc93e0" +SRCREV = "426b3e255239c2118449ba5207c9a67ee23ed1d5" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From 8c8e0dbd32fcc3ac37956502f7f3f74be8df7c59 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 13 Mar 2024 12:46:40 +0530 Subject: qemu : Updated SRCREV for 2024.1_3207 m25p80: Add sfdp data to the mt35xu01g flash versal-ospi: Enable indac with dac is disabled ssi: versal-ospi-v1: Enable indac writes and dac with indac ssi: xlnx-versal-ospi: Fix indac address range ssi: versal-ospi: Allow required bytes for indac ops versal-ospi: Add support to handle tuning sequence --- meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc index e7d915c9..ffaf3cdf 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc @@ -1,3 +1,3 @@ XILINX_QEMU_VERSION = "v8.1.0" BRANCH = "master" -SRCREV = "500c2f501522daae375d9c2bb605e1b2d9f5da4f" +SRCREV = "aa05b83770c0cd5a4f7fcbcef7efc806ae2abe9f" -- cgit v1.2.3-54-g00ecf From bd79516a2a03e8f0fc14191404e3d15304adae74 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 13 Mar 2024 18:37:20 +0530 Subject: linux-xlnx : Updated SRCREV for 2024.1_8179 misc: xilinx-ai-engine: Add api to set static resources bitmaps for sub partition. firmware: xilinx: add a warning print for unsupported feature nvmem: xlnx_secure: Fix passing the size of BBRAM Key nvmem: xlnx_secure: Fix passing incorrect CryptoKatEnable mask value nvmem: xlnx_secure: Fix Array out of bounds warning in eFuse programming drivers: misc: Add support for puf regenerate ID only usb: dwc3: define dummy dwc3_gadget_*_hibernation APIs for DWC3_HOST mode usb: dwc3: define dummy dwc3_host_wakeup_* APIs for DWC3_GADGET mode drm: xlnx: Fix HDCP timer interrupt initialization drm: xlnx: hdcp: Fix xlnx_hdcptx_read_ds_sink_capability() drm: xlnx: hdcp: Fix HDCP2X AKE_SEND_CERT Reads drm: xlnx: hdcp: Fix xlnx_hdcp2x_downstream_capbility() return checks drm: xlnx: Fix hdcp dpcd read/writes --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index a228db8b..59a94468 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.6.10" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.6;destsuffix=yocto-kmeta" KBRANCH="xlnx_rebase_v6.6_LTS" -SRCREV = "6405a689e2110c1d601d331462c88b87997ff46f" +SRCREV = "140dbba3963264584ba7a58671b7d72e40417327" SRCREV_meta = "5d0809d0d939c7738cb6e5391126c73fd0e4e865" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From 1a5b8bca04f1d0af14d962c64f125d1585f9e88a Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 13 Mar 2024 18:37:55 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_1859 xilinx: versal-net: Add support for saving env based on bootmode usb: dwc3: Increase the timeout for generic commands usb: dwc3: core: Only handle soft-reset in DCTL usb: dwc3: gadget: Dont send unintended link state change usb: dwc3: core: improve reset sequence --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index 52d34fa6..09933c7c 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2024.01" UBRANCH = "xlnx_rebase_v2024.01" -SRCREV = "426b3e255239c2118449ba5207c9a67ee23ed1d5" +SRCREV = "db3e1e025f5b7d67e82cbd30e9c26a25009caa05" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From 48d936048f21f5dee8cb1ed268231c0fcfb9b288 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 13 Mar 2024 22:36:29 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_7115 lib: sw_apps: open-amp: Wrap SHARED_MEM_PA symbol in ifndef rfdc: Remove redundant clock from examples video_common: Add DynamicRange structure parameter video_common: Add DynamicRange structure parameter dp21: Add MSA macro definations to get/set the MSA attributes of a video format dp21txss: Add XDPTxss_SetMsa() dp21rxss: Add XDPRxss_GetMsa() dp21rxss: Add yaml changes to support import examples dp21txss: Add yaml changes to support import examples dp21txss: examples: Add support for system device-tree flow dp21rxss: examples: Update rx_only example to support sdt flow lib: sw_services: xiltimer: Update the processor checks for VersalNet platform drivers: Add device_type field in the driver yamls ThirdParty: Update the dependent section order PS peripherals first lib: sw_apps: Add required_mem section scripts: pyesw: Add support for hardware error validation lib: sw_services: xilsecure: Use cmake_warning macro ThirdParty: sw_services: lwip220: src: lwip220.cmake: Use cmake_error macro cmake: Findcommon: Add custom macros for error and warning message lib: sw_services: Update cmake and yaml files for VersalNet sw_services: xilloader: Add code to handle sub-partition for APU Subsystem v_sdirxss: fix kcu116 application baseaddress axis_switch: Add find_package common bsp: arm: Update the ARM PMU counters reset logic Xilsem:Add Client interface to read Total frames of a Row in SSIT devices scugic: Add support for compiling examples in Yocto flow qspipsu: Revise the export feedback clock property logic in tcl Xilsem:Add Server interface to send Total frames of a row in SSIT device --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index cf4a6432..1e9e3729 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "73f0904e41cc109f18bb19a5329d0e5a66af2434" -ESW_REV[2024.1] = "69d24c5a0f40a403004ced79a7c3c2cedd424049" +ESW_REV[2024.1] = "ad038fbbeccd66f126ad80980452b8fecee60e4f" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From a28668eb97671912af97fa7058ad2cff6294f655 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 13 Mar 2024 22:36:29 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_7115 lib: sw_apps: open-amp: Wrap SHARED_MEM_PA symbol in ifndef rfdc: Remove redundant clock from examples video_common: Add DynamicRange structure parameter video_common: Add DynamicRange structure parameter dp21: Add MSA macro definations to get/set the MSA attributes of a video format dp21txss: Add XDPTxss_SetMsa() dp21rxss: Add XDPRxss_GetMsa() dp21rxss: Add yaml changes to support import examples dp21txss: Add yaml changes to support import examples dp21txss: examples: Add support for system device-tree flow dp21rxss: examples: Update rx_only example to support sdt flow lib: sw_services: xiltimer: Update the processor checks for VersalNet platform drivers: Add device_type field in the driver yamls ThirdParty: Update the dependent section order PS peripherals first lib: sw_apps: Add required_mem section scripts: pyesw: Add support for hardware error validation lib: sw_services: xilsecure: Use cmake_warning macro ThirdParty: sw_services: lwip220: src: lwip220.cmake: Use cmake_error macro cmake: Findcommon: Add custom macros for error and warning message lib: sw_services: Update cmake and yaml files for VersalNet sw_services: xilloader: Add code to handle sub-partition for APU Subsystem v_sdirxss: fix kcu116 application baseaddress axis_switch: Add find_package common bsp: arm: Update the ARM PMU counters reset logic Xilsem:Add Client interface to read Total frames of a Row in SSIT devices scugic: Add support for compiling examples in Yocto flow qspipsu: Revise the export feedback clock property logic in tcl Xilsem:Add Server interface to send Total frames of a row in SSIT device --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index cf4a6432..1e9e3729 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "73f0904e41cc109f18bb19a5329d0e5a66af2434" -ESW_REV[2024.1] = "69d24c5a0f40a403004ced79a7c3c2cedd424049" +ESW_REV[2024.1] = "ad038fbbeccd66f126ad80980452b8fecee60e4f" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From d10b2f6f3c502265830583f994d31de7d5d6e48b Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 15 Mar 2024 12:59:35 +0530 Subject: linux-xlnx : Updated SRCREV for 2024.1_7755 media: i2c: Update streaming flag based on return value arm64: zynqmp: Remove snps,enable_guctl1_ipd_quirk property dwc3: core: For ZU+ enable GUCTL1 bit 9 for correcting Inter Packet Delay(IPD) Revert "dwc3: core: Enable GUCTL1 chicken bit 9 for correcting Inter Packet Delay(IPD)" Revert "dt-bindings: usb: dwc3: Add snps,enable_guctl1_ipd_quirk" crypto: xilinx: ECDSA support for the Versal platform firmware: xilinx: ECDSA support for Versal soc: xilinx: rename cpu_number1 to dummy_cpu_number drivers: firmware: Add support for crypto drivers on versal arm64: zynqmp: Add missing description for vm-p-m1369 --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index 59a94468..db593947 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.6.10" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.6;destsuffix=yocto-kmeta" KBRANCH="xlnx_rebase_v6.6_LTS" -SRCREV = "140dbba3963264584ba7a58671b7d72e40417327" +SRCREV = "6737b74785db6341fba18dc6e3d35da9ab8fcfb7" SRCREV_meta = "5d0809d0d939c7738cb6e5391126c73fd0e4e865" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From 3a9cd6df2cda6e502c2e4556303ef77006d8387a Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Tue, 12 Mar 2024 19:20:24 -0600 Subject: boot-jtag.py: Add devtool script for jtag boot mode This script uses devtool and creates a boot-jtag.tcl script in ${DEPLOY_DIR_IMAGE} directory. This script is executed by xsdb tool to boot yocto generated images on HW via jtag boot mode. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- meta-xilinx-core/lib/devtool/boot-jtag.py | 272 ++++++++++++++++++++++++++++++ 1 file changed, 272 insertions(+) create mode 100644 meta-xilinx-core/lib/devtool/boot-jtag.py diff --git a/meta-xilinx-core/lib/devtool/boot-jtag.py b/meta-xilinx-core/lib/devtool/boot-jtag.py new file mode 100644 index 00000000..53d70262 --- /dev/null +++ b/meta-xilinx-core/lib/devtool/boot-jtag.py @@ -0,0 +1,272 @@ +# Copyright (C) 2021-2022, Xilinx, Inc. All rights reserved. +# Copyright (C) 2022-2024, Advanced Micro Devices, Inc. All rights reserved. +# +# SPDX-License-Identifier: MIT +# +# This script uses devtool and creates a boot-jtag.tcl script in +# ${DEPLOY_DIR_IMAGE} directory. This script is executed by xsdb tool to boot +# yocto generated images on HW via jtag boot mode. + +import os +import logging +import argparse +from devtool import setup_tinfoil, parse_recipe, DevtoolError +import yaml +import sys +import glob + +logger = logging.getLogger('devtool') + +def bootjtag(args, config, basepath, workspace): + """Entry point for the devtool 'boot-jtag' subcommand""" + + if not args.image: + print('\nINFO: Please specify the target image name. \n\nExample: --image core-image-minimal or petalinux-image-minimal') + return + + # Get required boot variables + tinfoil = setup_tinfoil(basepath=basepath) + try: + rd = tinfoil.parse_recipe('u-boot-xlnx-scr') + deploy_dir = rd.getVar('DEPLOY_DIR_IMAGE') + machine = rd.getVar('MACHINE') + arch = rd.getVar('TARGET_ARCH') + soc = rd.getVar("SOC_FAMILY") + soc_variant = rd.getVar("SOC_VARIANT") + ddr_base_addr = rd.getVar('DDR_BASEADDR') + kernel_img_name = rd.getVar('KERNEL_IMAGE') + kernel_load_addr = rd.getVar('KERNEL_LOAD_ADDRESS') + dtb_load_addr = rd.getVar('DEVICETREE_ADDRESS') + rootfs_load_addr = rd.getVar('RAMDISK_IMAGE_ADDRESS') + machine_features = rd.getVar('MACHINE_FEATURES') + boot_mode = rd.getVar('BOOTMODE') + finally: + tinfoil.shutdown() + + if not args.hw_server: + print("\nINFO: --hw_server is null so default URL description of hw_server/TCF agent and port number is set to: " + str(args.hw_server)) + + print("INFO: HW_SERVER Connected to: " + str(args.hw_server)) + print("INFO: Using DISTRO IMAGE: " + str(args.image)) + + # Use arch for MB and SOC Family other devices. + if arch == 'microblazeel': + print("INFO: ARCH: " + arch) + else: + print("INFO: SOC FAMILY: " + soc) + + # Load Address of boot.scr in DDR(Except for QSPI/OSPI/NAND boot) + # MB = (DDR base address + DDR Size) - 0xe00000 + # Zynq 7000 = DDR base address + 0x3000000 + # ZynqMP = DDR base address + 0x20000000 + # Versal = DDR base address + 0x20000000 + if arch == 'microblazeel': + # Assuming DDR size is 2GB + bootscr_addr = hex(int(ddr_base_addr, 16) + 0x80000000 - 0xe00000) + elif soc == 'zynq': + bootscr_addr = hex(int(ddr_base_addr, 16) + 0x3000000) + else: + bootscr_addr = hex(int(ddr_base_addr, 16) + 0x20000000) + + print("INFO: MACHINE: " + machine) + + if arch != 'microblazeel': + if "fpga-overaly" in machine_features: + print("INFO: fpga-overlay MACHINE_FEATURES is enabled, Hence PL bitstream or PDI will not be loaded at initial boot, User can load from u-boot or linux.") + else: + print("INFO: fpga-overlay MACHINE_FEATURES is not enabled, Hence PL bitstream or PDI will be loaded at initial boot.") + + #dictionary with all required artifacts + data = {} + + # For MB, Zynq 7000 and ZynqMP. + if arch == 'microblazeel' or soc == 'zynq' or soc == 'zynqmp': + if not "fpga-overaly" in machine_features: + data['bit'] = glob.glob(os.path.join(deploy_dir, '*' + machine + '.bit'))[0] + data['uboot'] = os.path.join(deploy_dir, 'u-boot.elf') + data['dtb'] = os.path.join(deploy_dir, machine + '-system.dtb') + + if soc == 'zynq' or soc == 'zynqmp': + data['fsbl'] = os.path.join(deploy_dir, 'fsbl-' + machine + '.elf') + + if soc == 'zynqmp': + data['atf'] = os.path.join(deploy_dir, 'arm-trusted-firmware.elf') + data['pmufw'] = os.path.join(deploy_dir, 'pmu-firmware-' + machine + '.elf') + + if soc == 'versal': + data['bootbin'] = os.path.join(deploy_dir, 'boot.bin') + + data['bootscr'] = os.path.join(deploy_dir, 'boot.scr') + data['kernel'] = os.path.join(deploy_dir, kernel_img_name) + + if not args.norootfs: + data['rfs'] = os.path.join(deploy_dir, args.image + '-' + machine + '.cpio.gz.u-boot') + + # Check if all the required boot images exists + for key in data: + if not os.path.isfile(data[key]): + print('INFO:' + key + ' does not exist.') + print('INFO: Please make sure you have run: \n\'MACHINE=' + machine + ' devtool build-image ' + args.image + '\'') + return + + # Enable verbose mode + if args.verbose: + print("The following artifacts are being loaded:") + for key in data: + print('INFO: ' + key + ": " + data[key]) + + # Start writing xsdb script + lines = [] + lines.append('# Run \'xsdb ' + deploy_dir + '/boot-jtag.tcl\' to execute this script.') + lines.append('connect -url ' + args.hw_server) + + if arch == 'microblazeel' or soc == 'zynq' or soc == 'zynqmp': + lines.append('for {set i 0} {$i < 20} {incr i} {') + lines.append(' if { [ta] != "" } break;') + lines.append(' after 50') + lines.append('}') + if not "fpga-overaly" in machine_features: + lines.append('') + lines.append('puts stderr "INFO: Configuring the PL ..."') + lines.append('puts stderr "INFO: Downloading bitstream: ' + data['bit'] + '"') + lines.append('fpga -no-revision-check \"' + data['bit'] + '\"') + + if soc == 'zynqmp': + # Disable Security gates to view PMU MB target + lines.append('') + lines.append('targets -set -nocase -filter {name =~ \"*PSU*\"}') + + # By default, JTAG security gates are enabled. This disables security gates for DAP, PLTAP and PMU. + lines.append('mask_write 0xFFCA0038 0x1C0 0x1C0') + lines.append('targets -set -nocase -filter {name =~ \"*MicroBlaze PMU*\"}') + lines.append('') + + # Check if the target is already stopped or cannot be stopped. + lines.append('catch {stop}; after 1000') + lines.append('') + + # Download the pmufw.elf and run PMUFW + lines.append('puts stderr "INFO: Downloading PMUFW ELF file: ' + data['pmufw'] + '"') + lines.append('dow \"' + data['pmufw'] + '\"') + lines.append('con') + + # Select A53 Core 0 to load and run FSBL + lines.append('targets -set -nocase -filter {name =~ \"*A53*#0\"}') + + # Reset A53, If the reset is being triggered after powering on the device, + # write bootloop at reset vector address (0xffff0000), or use + # -clear-registers option, to avoid unpredictable behavior. + # Further warnings will be suppressed + lines.append('rst -processor -clear-registers') + lines.append('') + elif soc == 'versal': + # Download boot.bin to versal device + lines.append('targets -set -nocase -filter {name =~ \"*PMC*\"}') + lines.append('puts stderr "INFO: Downloading BOOT bin file: ' + data['bootbin'] + '"') + lines.append('device program \"' + data['bootbin'] + '\"') + lines.append('') + + if soc_variant == 'net': + lines.append('targets -set -nocase -filter {name =~ \"*A78*#0\"}') + else: + lines.append('targets -set -nocase -filter {name =~ \"*A72*#0\"}') + + lines.append('stop') + lines.append('') + lines.append('targets -set -nocase -filter {name =~ \"*Versal*\"}') + elif soc == 'zynq': + lines.append('targets -set -nocase -filter {name =~ \"arm*#0\"}') + # Check if the target is already stopped or cannot be stopped. + lines.append('catch {stop}; after 1000') + lines.append('') + else: + lines.append('targets -set -nocase -filter {name =~ \"microblaze*#0\"}') + # Check if the target is already stopped or cannot be stopped. + lines.append('catch {stop}; after 1000') + lines.append('') + + + if soc == 'zynq' or soc == 'zynqmp': + # Download FSBL for Zynq 7000 and ZynqMP + lines.append('puts stderr "INFO: Downloading FSBL ELF file: ' + data['fsbl'] + '"') + lines.append('dow \"' + data['fsbl'] + '\"') + lines.append('con') + lines.append('after 4000; stop') + lines.append('') + + # Download U-boot and DTB for MB, Zynq 7000 and ZynqMP + if arch == 'microblazeel' or soc == 'zynq' or soc == 'zynqmp': + lines.append('puts stderr "INFO: Downloading U-boot ELF file: ' + data['uboot'] + '"') + lines.append('dow \"' + data['uboot'] + '\"') + lines.append('') + # For MB and Zynq 7000 we need to connect and stop before loading + # kernel images + if soc != 'zynqmp': + lines.append('con') + lines.append('after 1000; stop') + lines.append('puts stderr "INFO: Downloading DTB file: ' + data['dtb'] + ' at ' + dtb_load_addr + '"') + lines.append('dow -data \"' + data['dtb'] + '\" ' + dtb_load_addr) + lines.append('') + + # Download Trusted Firmware-A(TF-A) for ZynqMP + # Note: TF-A elf should be loaded after u-boot elf in JTAG boot mode else + # TF-A elf will not be loaded. + if soc == 'zynqmp': + lines.append('puts stderr "INFO: Downloading Trusted Firmware-A(TF-A) ELF file: ' + data['atf'] + '"') + lines.append('dow \"' + data['atf'] + '\"') + lines.append('') + + # If BOOTMODE is xen then boot till u-boot only. + # Download Kernel Image for all architecture + if boot_mode != 'xen': + lines.append('puts stderr "INFO: Downloading Kernel Image file: ' + data['kernel'] + ' at ' + kernel_load_addr + '"') + lines.append('dow -data \"' + data['kernel'] + '\" ' + kernel_load_addr) + lines.append('') + + # Download Rootfs + if not args.norootfs and boot_mode != 'xen': + lines.append('puts stderr "INFO: Downloading Rootfs file: ' + data['rfs'] + ' at ' + rootfs_load_addr + '"') + lines.append('dow -data \"' + data['rfs'] + '\" ' + rootfs_load_addr) + lines.append('') + + lines.append('puts stderr "INFO: Downloading U-boot boot script: ' + data['bootscr'] + ' at ' + bootscr_addr + '"') + lines.append('dow -data \"' + data['bootscr'] + '\" ' + bootscr_addr) + lines.append('') + + # Select A72 Core 0 to load and run Versal images + if soc == 'versal': + if soc_variant == 'net': + lines.append('targets -set -nocase -filter {name =~ \"*A78*#0\"}') + else: + lines.append('targets -set -nocase -filter {name =~ \"*A72*#0\"}') + + lines.append('con') + lines.append('exit\n') + + script = os.path.join(deploy_dir, "boot-jtag.tcl") + with open(script, "w") as f: + f.write('\n'.join(lines)) + + print('INFO: HW JTAG boot tcl script written to '+ script + "\n" \ + + 'INFO: User can run \'xsdb ' + script + '\' to execute.') + + return 0 + +def register_commands(subparsers, context): + """Register devtool subcommands from this plugin""" + parser_bootjtag = subparsers.add_parser('boot-jtag', + help='Script to deploy target images on HW via JTAG boot mode.', + description='Script to deploy target images on HW via JTAG boot mode. \ + Example command: MACHINE=zcu102-zynqmp devtool boot-jtag --image ${image_name} --hw_server ${hw_server}') + required = parser_bootjtag.add_argument_group('required arguments') + required.add_argument('--image', + help='Specify target image name. Example: core-image-minimal or petalinux-image-minimal') + parser_bootjtag.add_argument('--hw_server', nargs='?', default='TCP:localhost:3121', + help='URL description of hw_server/TCF agent and port number. (default: %(default)s) \ + Example: --hw_server TCP:puffball12:3121') + + parser_bootjtag.add_argument('-v', '--verbose', + help='verbose mode', action="store_true") + parser_bootjtag.add_argument('-n', '--norootfs', + help='Don\'t include rootfs', action='store_true') + parser_bootjtag.set_defaults(func=bootjtag, no_workspace=True) -- cgit v1.2.3-54-g00ecf From 801768d6a28c198b317d54ed7c90d6dceca4ce99 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Tue, 12 Mar 2024 19:20:25 -0600 Subject: .gitignore: Ignore __pycache__ Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- .gitignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..bee8a64b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +__pycache__ -- cgit v1.2.3-54-g00ecf From 670ff7ebfdc3507d6c19308f85dc144080e7586c Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Tue, 12 Mar 2024 19:20:26 -0600 Subject: docs: Update JTAG boot instruction in README 1. Update JTAG boot instructions in README files. 2. Add devtool boot-jtag method. 3. Replace xsct with xsdb commands as new Vitis IDE doesn't support xsct commands. 4. Fix tftpboot instructions. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- docs/README.booting.microblaze.md | 121 +++++++++++++++++++------------- docs/README.booting.versal.md | 117 +++++++++++++++++++------------ docs/README.booting.zynq.md | 124 ++++++++++++++++++++------------- docs/README.booting.zynqmp.md | 141 +++++++++++++++++++++++--------------- 4 files changed, 307 insertions(+), 196 deletions(-) diff --git a/docs/README.booting.microblaze.md b/docs/README.booting.microblaze.md index 1ffcc3c8..91c0eda9 100644 --- a/docs/README.booting.microblaze.md +++ b/docs/README.booting.microblaze.md @@ -4,11 +4,16 @@ Booting OS images on MicroBlaze target boards can be done using JTAG and QSPI bo * [Setting Up the Target](#setting-up-the-target) * [Booting from JTAG](#booting-from-jtag) - * [Loading Bitstream using XSCT](#loading-bitstream-using-xsct) - * [Loading U-boot using XSCT](#loading-u-boot-using-xsct) - * [Loading Kernel, Device tree, Root Filesystem and U-boot boot script](#loading-kernel-device-tree-root-filesystem-and-u-boot-boot-script) - * [Using XSCT](#using-xsct) - * [Using TFTP](#using-tftp) + * [Sourcing the XSDB tools](#sourcing-the-xsdb-tools) + * [Deploying the images to target](#deploying-the-images-to-target) + * [Using devtool boot-jtag script](#using-devtool-boot-jtag-script) + * [Manually executing xsdb commands](#manually-executing-xsdb-commands) + * [Loading Bitstream using XSDB](#loading-bitstream-using-xsdb) + * [Loading U-boot using XSDB](#loading-u-boot-using-xsdb) + * [Loading Kernel, Device tree, Root Filesystem and U-boot boot script](#loading-kernel-device-tree-root-filesystem-and-u-boot-boot-script) + * [Using XSDB](#using-xsdb) + * [Using TFTP](#using-tftp) + * [Booting Linux](#booting-linux) ## Setting Up the Target @@ -34,59 +39,79 @@ Booting OS images on MicroBlaze target boards can be done using JTAG and QSPI bo ## Booting from JTAG -This boot flow requires the use of the AMD Xilinx tools, specifically XSCT and +This boot flow requires the use of the AMD Xilinx tools, specifically XSDB and the associated JTAG device drivers. This also requires access to the JTAG interface on the board, a number of AMD Xilinx and third-party boards come with on-board JTAG modules. -1. Source the Vivado or Vitis tools `settings.sh` scripts. -2. Power on the board, Open the XSCT console in the Vitis IDE by clicking the - XSCT button. Alternatively, you can also open the XSCT console by selecting - Xilinx -> XSCT Console. +### Sourcing the XSDB tools + +Source the Vivado or Vitis tools `settings.sh` scripts. + +### Deploying the images to target + +Deploying the images can be done in two methods. + +#### Using devtool boot-jtag script + +1. Run devtool command to generate the boot-jtag.tcl script. +``` +$ devtool boot-jtag --help +$ devtool boot-jtag --image core-image-minimal --hw_server TCP::3121 +``` +2. Script will be generated under ${DEPLOY_DIR_IMAGE}/boot-jtag.tcl +3. Execute this script using xsdb tool as shown below. +``` +$ xsdb /boot-jtag.tcl +``` + +#### Manually executing xsdb commands + +1. Power on the board, Launch the XSDB shell from command line as shown below. ``` -$ xsct +$ xsdb ``` -3. In the XSCT console, connect to the target over JTAG using the connect command. +2. In the XSDB console, connect to the target over JTAG using the connect command. Optionally user can use `-url` to specify the local/remote hw_server. The connect command returns the channel ID of the connection. ``` -xsct% connect +xsdb% connect ``` -4. The targets command lists the available targets and allows you to select a +3. The targets command lists the available targets and allows you to select a target using its ID. The targets are assigned IDs as they are discovered on the JTAG chain, so the IDs can change from session to session. ``` -xsct% targets +xsdb% targets ``` > **Note:** For non-interactive usage such as scripting, you can use the `-filter` option to select a target instead of selecting the target using its ID. -### Loading Bitstream using XSCT +##### Loading Bitstream using XSDB -* Download the bitstream for the target using XSCT with the `fpga` command. Microblaze +* Download the bitstream for the target using XSDB with the `fpga` command. Microblaze bitstream will be located in the `${DEPLOY_DIR_IMAGE}` directory. Optionally user can use `fpga -no-revision-check` to skip FPGA silicon revision. ``` -xsct% fpga -no-revision-check ${DEPLOY_DIR_IMAGE}/system-${MACHINE}.bit -xsct% after 2000 -xsct% targets -set -nocase -filter {name =~ "microblaze*#0"} -xsct% catch {stop} -xsct% after 1000 +xsdb% fpga -no-revision-check ${DEPLOY_DIR_IMAGE}/system-${MACHINE}.bit +xsdb% after 2000 +xsdb% targets -set -nocase -filter {name =~ "microblaze*#0"} +xsdb% catch {stop} +xsdb% after 1000 ``` -### Loading U-boot using XSCT +##### Loading U-boot using XSDB -1. Download `u-boot.elf` to the target CPU using XSCT. Microblaze u-boot.elf will be +1. Download `u-boot.elf` to the target CPU using XSDB. Microblaze u-boot.elf will be located in the `${DEPLOY_DIR_IMAGE}` directory. Before u-boot.elf is loaded suspend the execution of active target using `stop` command. ``` -xsct% dow ${DEPLOY_DIR_IMAGE}/u-boot.elf +xsdb% dow ${DEPLOY_DIR_IMAGE}/u-boot.elf ``` 2. After loading u-boot.elf resume the execution of active target using the `con` -command in XSCT shell. +command in XSDB shell. ``` -xsct% con +xsdb% con ``` 3. In the target Serial Terminal, press any key to stop the U-Boot auto-boot. ``` @@ -95,7 +120,7 @@ Hit any key to stop autoboot: 0 U-Boot> ``` -### Loading Kernel, Device tree, Root Filesystem and U-boot boot script +##### Loading Kernel, Device tree, Root Filesystem and U-boot boot script Load the images into the target DDR/MIG load address i.e., `DDR base address + `. MicroBlaze U-boot boot script(boot.scr) @@ -121,48 +146,50 @@ this process can take a long time to execute (more than 10 minutes). If your system has ethernet it is recommended that you use TFTP to load these images using U-Boot. -#### Using XSCT +###### Using XSDB -1. Suspend the execution of active target using `stop` command in XSCT. +1. Suspend the execution of active target using `stop` command in XSDB. ``` -xsct% stop +xsdb% stop ``` 2. Using the `dow` command to load the images into the target DDR/MIG load address. ``` -xsct% dow -data ${DEPLOY_DIR_IMAGE}/linux.bin.ub 0x80000000 -xsct% dow -data ${DEPLOY_DIR_IMAGE}/system.dtb 0x81e00000 -xsct% dow -data ${DEPLOY_DIR_IMAGE}/core-image-minimal-${MACHINE}.cpio.gz.u-boot 0x82e00000 -xsct% dow -data ${DEPLOY_DIR_IMAGE}/boot.scr 0xff200000 +xsdb% dow -data ${DEPLOY_DIR_IMAGE}/linux.bin.ub 0x80000000 +xsdb% dow -data ${DEPLOY_DIR_IMAGE}/system.dtb 0x81e00000 +xsdb% dow -data ${DEPLOY_DIR_IMAGE}/core-image-minimal-${MACHINE}.cpio.gz.u-boot 0x82e00000 +xsdb% dow -data ${DEPLOY_DIR_IMAGE}/boot.scr 0xff200000 ``` -#### Using TFTP +###### Using TFTP -1. Configure the `ipaddr` and `serverip` of the U-Boot environment. +1. Setup TFTP directory on host machine and copy the images to your TFTP directory + so that you can load them from U-Boot. +2. Configure the `ipaddr` and `serverip` of the U-Boot environment. ``` U-Boot> set serverip U-Boot> set ipaddr ``` -2. Load the images to DDR address. Make sure images are copied to tftp directory. +3. Load the images to DDR address. ``` -U-Boot> tftpboot 0x80000000 ${TFTPDIR}/linux.bin.ub -U-Boot> tftpboot 0x81e00000 ${TFTPDIR}/system.dtb -U-Boot> tftpboot 0x82e00000 ${TFTPDIR}/core-image-minimal-${MACHINE}.cpio.gz.u-boot -U-Boot> tftpboot 0xff200000 ${TFTPDIR}/boot.scr +U-Boot> tftpboot 0x80000000 linux.bin.ub +U-Boot> tftpboot 0x81e00000 system.dtb +U-Boot> tftpboot 0x82e00000 core-image-minimal-${MACHINE}.cpio.gz.u-boot +U-Boot> tftpboot 0xff200000 boot.scr ``` -### Booting Linux +##### Booting Linux Once the images are loaded continue the execution. 1. After loading images resume the execution of active target using the `con` -command in XSCT shell, Skip step 1 for if you have used TFTP to load images. +command in XSDB shell, Skip step 1 for if you have used TFTP to load images. ``` -xsct% con +xsdb% con ``` -2. Terminate xsct shell. +2. Terminate xsdb shell. ``` -xsct% exit +xsdb% exit ``` 3. In the target Serial Terminal, from U-Boot prompt run `boot` command. ``` diff --git a/docs/README.booting.versal.md b/docs/README.booting.versal.md index afdeba2b..ef817bf3 100644 --- a/docs/README.booting.versal.md +++ b/docs/README.booting.versal.md @@ -5,10 +5,15 @@ modes. * [Setting Up the Target](#setting-up-the-target) * [Booting from JTAG](#booting-from-jtag) - * [Loading boot.bin using XSCT](#loading-bootbin-using-xsct) - * [Loading Kernel, Root Filesystem and U-boot boot script](#loading-kernel-root-filesystem-and-u-boot-boot-script) - * [Using XSCT](#using-xsct) - * [Using TFTP](#using-tftp) + * [Sourcing the XSDB tools](#sourcing-the-xsdb-tools) + * [Deploying the images to target](#deploying-the-images-to-target) + * [Using devtool boot-jtag script](#using-devtool-boot-jtag-script) + * [Manually executing xsdb commands](#manually-executing-xsdb-commands) + * [Loading boot.bin using XSDB](#loading-bootbin-using-xsdb) + * [Loading Kernel, Root Filesystem and U-boot boot script](#loading-kernel-root-filesystem-and-u-boot-boot-script) + * [Using XSDB](#using-xsdb) + * [Using TFTP](#using-tftp) + * [Booting Linux](#booting-linux) * [Booting from SD](#booting-from-sd) * [Booting from QSPI](#booting-from-qspi) @@ -37,37 +42,57 @@ modes. ## Booting from JTAG -This boot flow requires the use of the AMD Xilinx tools, specifically XSCT and +This boot flow requires the use of the AMD Xilinx tools, specifically XSDB and the associated JTAG device drivers. This also requires access to the JTAG interface on the board, a number of AMD Xilinx and third-party boards come with on-board JTAG modules. -1. Source the Vivado or Vitis tools `settings.sh` scripts. -2. Power on the board, Open the XSCT console in the Vitis IDE by clicking the - XSCT button. Alternatively, you can also open the XSCT console by selecting - Xilinx -> XSCT Console. +### Sourcing the XSDB tools + +Source the Vivado or Vitis tools `settings.sh` scripts. + +### Deploying the images to target + +Deploying the images can be done in two methods. + +#### Using devtool boot-jtag script + +1. Run devtool command to generate the boot-jtag.tcl script. +``` +$ devtool boot-jtag --help +$ devtool boot-jtag --image core-image-minimal --hw_server TCP::3121 +``` +2. Script will be generated under ${DEPLOY_DIR_IMAGE}/boot-jtag.tcl +3. Execute this script using xsdb tool as shown below. +``` +$ xsdb /boot-jtag.tcl +``` + +#### Manually executing xsdb commands + +1. Power on the board, Launch the XSDB shell from command line as shown below. ``` -$ xsct +$ xsdb ``` -3. In the XSCT console, connect to the target over JTAG using the connect command. +2. In the XSDB console, connect to the target over JTAG using the connect command. Optionally user can use `-url` to specify the local/remote hw_server. The connect command returns the channel ID of the connection. ``` -xsct% connect +xsdb% connect ``` -4. The targets command lists the available targets and allows you to select a +3. The targets command lists the available targets and allows you to select a target using its ID. The targets are assigned IDs as they are discovered on the JTAG chain, so the IDs can change from session to session. ``` -xsct% targets +xsdb% targets ``` > **Note:** For non-interactive usage such as scripting, you can use the `-filter` option to select a target instead of selecting the target using its ID. -### Loading boot.bin using XSCT +##### Loading boot.bin using XSDB -1. Download the boot.bin for the target using XSCT with the `device program` command. +1. Download the boot.bin for the target using XSDB with the `device program` command. Versal boot.bin will be located in the `${DEPLOY_DIR_IMAGE}` directory. Default boot.bin consists of boot pdi, plm.elf, psm.elf, bl31.elf, u-boot.elf and system.dtb. This boot.bin is generated using bootgen tool by passing a .bif file. @@ -76,15 +101,15 @@ system.dtb. This boot.bin is generated using bootgen tool by passing a .bif file > u-boot and kernel. ``` -xsct% targets -set -nocase -filter {name =~ "*PMC*"} -xsct% device program ${DEPLOY_DIR_IMAGE}/boot.bin -xsct% targets -set -nocase -filter {name =~ "*A72*#0"} -xsct% stop +xsdb% targets -set -nocase -filter {name =~ "*PMC*"} +xsdb% device program ${DEPLOY_DIR_IMAGE}/boot.bin +xsdb% targets -set -nocase -filter {name =~ "*A72*#0"} +xsdb% stop ``` 2. After loading boot.bin resume the execution of active target using the `con` -command in XSCT shell. +command in XSDB shell. ``` -xsct% con +xsdb% con ``` 3. In the target Serial Terminal, press any key to stop the U-Boot auto-boot. ``` @@ -93,7 +118,7 @@ Hit any key to stop autoboot: 0 U-Boot> ``` -### Loading Kernel, Root Filesystem and U-boot boot script +##### Loading Kernel, Root Filesystem and U-boot boot script Load the images into the target DDR/PL DRR load address i.e., `DDR base address + `. @@ -119,49 +144,51 @@ using U-Boot. > 4. If common ${DEPLOY_DIR_IMAGE}/system.dtb is used by u-boot and kernel, this > is already part of boot.bin we can skip loading dtb, else load kernel dtb. -#### Using XSCT +###### Using XSDB -1. Suspend the execution of active target using `stop` command in XSCT. +1. Suspend the execution of active target using `stop` command in XSDB. ``` -xsct% stop +xsdb% stop ``` 2. Using the `dow` command to load the images into the target DDR/PL DDR load address. ``` -xsct% dow -data ${DEPLOY_DIR_IMAGE}/Image 0x200000 -xsct% dow -data ${DEPLOY_DIR_IMAGE}/system.dtb 0x1000 -xsct% dow -data ${DEPLOY_DIR_IMAGE}/core-image-minimal-${MACHINE}.cpio.gz.u-boot 0x4000000 -xsct% dow -data ${DEPLOY_DIR_IMAGE}/boot.scr 0x20000000 -xsct% targets -set -nocase -filter {name =~ "*A72*#0"} +xsdb% dow -data ${DEPLOY_DIR_IMAGE}/Image 0x200000 +xsdb% dow -data ${DEPLOY_DIR_IMAGE}/system.dtb 0x1000 +xsdb% dow -data ${DEPLOY_DIR_IMAGE}/core-image-minimal-${MACHINE}.cpio.gz.u-boot 0x4000000 +xsdb% dow -data ${DEPLOY_DIR_IMAGE}/boot.scr 0x20000000 +xsdb% targets -set -nocase -filter {name =~ "*A72*#0"} ``` -#### Using TFTP +###### Using TFTP -1. Configure the `ipaddr` and `serverip` of the U-Boot environment. +1. Setup TFTP directory on host machine and copy the images to your TFTP directory + so that you can load them from U-Boot. +2. Configure the `ipaddr` and `serverip` of the U-Boot environment. ``` Versal> set serverip Versal> set ipaddr ``` -2. Load the images to DDR address. Make sure images are copied to tftp directory. +3. Load the images to DDR address. ``` -U-Boot> tftpboot 0x200000 ${TFTPDIR}/Image -U-Boot> tftpboot 0x1000 ${TFTPDIR}/system.dtb -U-Boot> tftpboot 0x4000000 ${TFTPDIR}/core-image-minimal-${MACHINE}.cpio.gz.u-boot -U-Boot> tftpboot 0x20000000 ${TFTPDIR}/boot.scr +U-Boot> tftpboot 0x200000 Image +U-Boot> tftpboot 0x1000 system.dtb +U-Boot> tftpboot 0x4000000 core-image-minimal-${MACHINE}.cpio.gz.u-boot +U-Boot> tftpboot 0x20000000 boot.scr ``` -### Booting Linux +##### Booting Linux Once the images are loaded continue the execution. 1. After loading images resume the execution of active target using the `con` -command in XSCT shell, Skip step 1 for if you have used TFTP to load images. +command in XSDB shell, Skip step 1 for if you have used TFTP to load images. ``` -xsct% con +xsdb% con ``` -2. Terminate xsct shell. +2. Terminate xsdb shell. ``` -xsct% exit +xsdb% exit ``` 3. In the target Serial Terminal, from U-Boot prompt run `boot` command. ``` @@ -181,9 +208,9 @@ U-Boot> boot card (part number: X_EBM-01, REV_A01). 2. With the card powered off, install the QSPI daughter card. 3. Power on the VCK190 board and boot using JTAG or SD boot mode, to ensure that - U-Boot is running and also have boot.bin copied to DDR location using XSCT + U-Boot is running and also have boot.bin copied to DDR location using XSDB `dow` or `tftpboot` or `fatload` command. 4. Follow Flash boot instructions [README](README.booting.flash.md) for more details. 5. After flashing the images, turn off the power switch on the board, and change the SW1 boot mode pin settings to QSPI boot mode (1-ON, 2-OFF, 3-ON, 4-ON) by - setting the SW1. Refer [Setting Up the Target](#setting-up-the-target). \ No newline at end of file + setting the SW1. Refer [Setting Up the Target](#setting-up-the-target). diff --git a/docs/README.booting.zynq.md b/docs/README.booting.zynq.md index a9b6e8f3..28aad78f 100644 --- a/docs/README.booting.zynq.md +++ b/docs/README.booting.zynq.md @@ -5,10 +5,15 @@ boot modes. * [Setting Up the Target](#setting-up-the-target) * [Booting from JTAG](#booting-from-jtag) - * [Loading boot components using XSCT](#loading-boot-components-using-xsct) - * [Loading Kernel, Root Filesystem and U-boot boot script](#loading-kernel-root-filesystem-and-u-boot-boot-script) - * [Using XSCT](#using-xsct) - * [Using TFTP](#using-tftp) + * [Sourcing the XSDB tools](#sourcing-the-xsdb-tools) + * [Deploying the images to target](#deploying-the-images-to-target) + * [Using devtool boot-jtag script](#using-devtool-boot-jtag-script) + * [Manually executing xsdb commands](#manually-executing-xsdb-commands) + * [Loading boot components using XSDB](#loading-boot-components-using-xsdb) + * [Loading Kernel, Root Filesystem and U-boot boot script](#loading-kernel-root-filesystem-and-u-boot-boot-script) + * [Using XSDB](#using-xsdb) + * [Using TFTP](#using-tftp) + * [Booting Linux](#booting-linux) * [Booting from SD](#booting-from-sd) * [Booting from QSPI](#booting-from-qspi) @@ -35,37 +40,58 @@ boot modes. --- ## Booting from JTAG -This boot flow requires the use of the AMD Xilinx tools, specifically XSCT and +This boot flow requires the use of the AMD Xilinx tools, specifically XSDB and the associated JTAG device drivers. This also requires access to the JTAG interface on the board, a number of AMD Xilinx and third-party boards come with on-board JTAG modules. -1. Source the Vivado or Vitis tools `settings.sh` scripts. -2. Power on the board, Open the XSCT console in the Vitis IDE by clicking the - XSCT button. Alternatively, you can also open the XSCT console by selecting - Xilinx -> XSCT Console. +### Sourcing the XSDB tools + +Source the Vivado or Vitis tools `settings.sh` scripts. + +### Deploying the images to target + +Deploying the images can be done in two methods. + +#### Using devtool boot-jtag script + +1. Run devtool command to generate the boot-jtag.tcl script. +``` +$ devtool boot-jtag --help +$ devtool boot-jtag --image core-image-minimal --hw_server TCP::3121 +``` +2. Script will be generated under ${DEPLOY_DIR_IMAGE}/boot-jtag.tcl +3. Execute this script using xsdb tool as shown below. ``` -$ xsct +$ xsdb /boot-jtag.tcl ``` -3. In the XSCT console, connect to the target over JTAG using the connect command. + +#### Manually executing xsdb commands + +1. Power on the board, Launch the XSDB shell from command line as shown below. +``` +$ xsdb +``` +2. In the XSDB console, connect to the target over JTAG using the connect command. Optionally user can use `-url` to specify the local/remote hw_server. The connect command returns the channel ID of the connection. ``` -xsct% connect +xsdb% connect ``` -4. The targets command lists the available targets and allows you to select a +3. The targets command lists the available targets and allows you to select a target using its ID. The targets are assigned IDs as they are discovered on the JTAG chain, so the IDs can change from session to session. ``` -xsct% targets +xsdb% targets ``` > **Note:** For non-interactive usage such as scripting, you can use the `-filter` option to select a target instead of selecting the target using its ID. + --- -### Loading boot components using XSCT +##### Loading boot components using XSDB -1. Download the boot images for the target using XSCT with the `fpga` and `dow` +1. Download the boot images for the target using XSDB with the `fpga` and `dow` command. Zynq boot images will be located in the `${DEPLOY_DIR_IMAGE}` directory. @@ -74,24 +100,24 @@ xsct% targets 2. Program the bitstream or skip this step if you are loading from u-boot or linux. ``` -xsct% fpga -no-revision-check ${DEPLOY_DIR_IMAGE}/download.bit +xsdb% fpga -no-revision-check ${DEPLOY_DIR_IMAGE}/download.bit ``` 3. Select APU Cortex-A9 Core 0 to load and execute FSBL. ``` -xsct% targets -set -nocase -filter {name =~ "arm*#0"} -xsct% catch {stop} +xsdb% targets -set -nocase -filter {name =~ "arm*#0"} +xsdb% catch {stop} ``` 5. Download and run FSBL from APU Cortex-A9 Core 0 ``` -xsct% dow ${DEPLOY_DIR_IMAGE}/zynq_fsbl.elf -xsct% con +xsdb% dow ${DEPLOY_DIR_IMAGE}/zynq_fsbl.elf +xsdb% con ``` 7. Now download U-boot.elf and Device tree to APU and execute. ``` -xsct% stop -xsct% dow ${DEPLOY_DIR_IMAGE}/u-boot.elf -xsct% dow -data ${DEPLOY_DIR_IMAGE}/system.dtb 0x100000 -xsct% con +xsdb% stop +xsdb% dow ${DEPLOY_DIR_IMAGE}/u-boot.elf +xsdb% dow -data ${DEPLOY_DIR_IMAGE}/system.dtb 0x100000 +xsdb% con ``` 8. In the target Serial Terminal, press any key to stop the U-Boot auto-boot. @@ -101,7 +127,7 @@ Hit any key to stop autoboot: 0 U-Boot> ``` --- -### Loading Kernel, Root Filesystem and U-boot boot script +##### Loading Kernel, Root Filesystem and U-boot boot script Load the images into the target DDR load address i.e., `DDR base address + `. @@ -127,53 +153,56 @@ using U-Boot. > 4. If common ${DEPLOY_DIR_IMAGE}/system.dtb is used by u-boot and kernel, this > is already part of boot.bin we can skip loading dtb, else load kernel dtb. --- -#### Using XSCT +###### Using XSDB -1. Suspend the execution of active target using `stop` command in XSCT. +1. Suspend the execution of active target using `stop` command in XSDB. ``` -xsct% stop +xsdb% stop ``` 2. Using the `dow` command to load the images into the target DDR/PL DDR load address. ``` -xsct% dow -data ${DEPLOY_DIR_IMAGE}/uImage 0x200000 -xsct% dow -data ${DEPLOY_DIR_IMAGE}/system.dtb 0x100000 -xsct% dow -data ${DEPLOY_DIR_IMAGE}/core-image-minimal-${MACHINE}.cpio.gz.u-boot 0x4000000 -xsct% dow -data ${DEPLOY_DIR_IMAGE}/boot.scr 0x3000000 +xsdb% dow -data ${DEPLOY_DIR_IMAGE}/uImage 0x200000 +xsdb% dow -data ${DEPLOY_DIR_IMAGE}/system.dtb 0x100000 +xsdb% dow -data ${DEPLOY_DIR_IMAGE}/core-image-minimal-${MACHINE}.cpio.gz.u-boot 0x4000000 +xsdb% dow -data ${DEPLOY_DIR_IMAGE}/boot.scr 0x3000000 ``` --- -#### Using TFTP +###### Using TFTP -1. Configure the `ipaddr` and `serverip` of the U-Boot environment. +1. Setup TFTP directory on host machine and copy the images to your TFTP directory + so that you can load them from U-Boot. +2. Configure the `ipaddr` and `serverip` of the U-Boot environment. ``` Versal> set serverip Versal> set ipaddr ``` -2. Load the images to DDR address. Make sure images are copied to tftp directory. +3. Load the images to DDR address. ``` -U-Boot> tftpboot 0x200000 ${TFTPDIR}/uImage -U-Boot> tftpboot 0x100000 ${TFTPDIR}/system.dtb -U-Boot> tftpboot 0x4000000 ${TFTPDIR}/core-image-minimal-${MACHINE}.cpio.gz.u-boot -U-Boot> tftpboot 0x3000000 ${TFTPDIR}/boot.scr +U-Boot> tftpboot 0x200000 uImage +U-Boot> tftpboot 0x100000 system.dtb +U-Boot> tftpboot 0x4000000 core-image-minimal-${MACHINE}.cpio.gz.u-boot +U-Boot> tftpboot 0x3000000 boot.scr ``` --- -### Booting Linux +##### Booting Linux Once the images are loaded continue the execution. 1. After loading images resume the execution of active target using the `con` -command in XSCT shell, Skip step 1 for if you have used TFTP to load images. +command in XSDB shell, Skip step 1 for if you have used TFTP to load images. ``` -xsct% con +xsdb% con ``` -2. Terminate xsct shell. +2. Terminate xsdb shell. ``` -xsct% exit +xsdb% exit ``` 3. In the target Serial Terminal, from U-Boot prompt run `boot` command. ``` U-Boot> boot ``` + --- ## Booting from SD @@ -181,14 +210,15 @@ U-Boot> boot 2. Configure the ZC702 board to boot in SD-Boot mode (1-OFF, 2-OFF, 3-ON, 4-ON, 5-OFF) by setting the SW6. Refer [Setting Up the Target](#setting-up-the-target). 3. Follow SD boot instructions [README](README.booting.storage.md) for more details. + --- ## Booting from QSPI 1. To boot ZC702 board in QSPI boot mode, Power on the ZCU102 board and boot using JTAG or SD boot mode, to ensure that U-Boot is running and also have - boot.bin copied to DDR location using XSCT `dow` or `tftpboot` or `fatload` + boot.bin copied to DDR location using XSDB `dow` or `tftpboot` or `fatload` command. 2. Follow Flash boot instructions [README](README.booting.flash.md) for more details. 3. After flashing the images, turn off the power switch on the board, and change the SW16 boot mode pin settings to QSPI boot mode (1-OFF, 2-ON, 3-OFF, 4-OFF, 5-OFF) - by setting the SW16. Refer [Setting Up the Target](#setting-up-the-target). \ No newline at end of file + by setting the SW16. Refer [Setting Up the Target](#setting-up-the-target). diff --git a/docs/README.booting.zynqmp.md b/docs/README.booting.zynqmp.md index c8f8aa21..80e6d5ae 100644 --- a/docs/README.booting.zynqmp.md +++ b/docs/README.booting.zynqmp.md @@ -5,10 +5,15 @@ NAND boot modes. * [Setting Up the Target](#setting-up-the-target) * [Booting from JTAG](#booting-from-jtag) - * [Loading boot components using XSCT](#loading-boot-components-using-xsct) - * [Loading Kernel, Root Filesystem and U-boot boot script](#loading-kernel-root-filesystem-and-u-boot-boot-script) - * [Using XSCT](#using-xsct) - * [Using TFTP](#using-tftp) + * [Sourcing the XSDB tools](#sourcing-the-xsdb-tools) + * [Deploying the images to target](#deploying-the-images-to-target) + * [Using devtool boot-jtag script](#using-devtool-boot-jtag-script) + * [Manually executing xsdb commands](#manually-executing-xsdb-commands) + * [Loading boot components using XSDB](#loading-boot-components-using-xsdb) + * [Loading Kernel, Root Filesystem and U-boot boot script](#loading-kernel-root-filesystem-and-u-boot-boot-script) + * [Using XSDB](#using-xsdb) + * [Using TFTP](#using-tftp) + * [Booting Linux](#booting-linux) * [Booting from SD](#booting-from-sd) * [Booting from QSPI](#booting-from-qspi) @@ -34,37 +39,57 @@ NAND boot modes. ## Booting from JTAG -This boot flow requires the use of the AMD Xilinx tools, specifically XSCT and +This boot flow requires the use of the AMD Xilinx tools, specifically XSDB and the associated JTAG device drivers. This also requires access to the JTAG interface on the board, a number of AMD Xilinx and third-party boards come with on-board JTAG modules. -1. Source the Vivado or Vitis tools `settings.sh` scripts. -2. Power on the board, Open the XSCT console in the Vitis IDE by clicking the - XSCT button. Alternatively, you can also open the XSCT console by selecting - Xilinx -> XSCT Console. +### Sourcing the XSDB tools + +Source the Vivado or Vitis tools `settings.sh` scripts. + +### Deploying the images to target + +Deploying the images can be done in two methods. + +#### Using devtool boot-jtag script + +1. Run devtool command to generate the boot-jtag.tcl script. +``` +$ devtool boot-jtag --help +$ devtool boot-jtag --image core-image-minimal --hw_server TCP::3121 +``` +2. Script will be generated under ${DEPLOY_DIR_IMAGE}/boot-jtag.tcl +3. Execute this script using xsdb tool as shown below. +``` +$ xsdb /boot-jtag.tcl +``` + +#### Manually executing xsdb commands + +1. Power on the board, Launch the XSDB shell from command line as shown below. ``` -$ xsct +$ xsdb ``` -3. In the XSCT console, connect to the target over JTAG using the connect command. +2. In the XSDB console, connect to the target over JTAG using the connect command. Optionally user can use `-url` to specify the local/remote hw_server. The connect command returns the channel ID of the connection. ``` -xsct% connect +xsdb% connect ``` -4. The targets command lists the available targets and allows you to select a +3. The targets command lists the available targets and allows you to select a target using its ID. The targets are assigned IDs as they are discovered on the JTAG chain, so the IDs can change from session to session. ``` -xsct% targets +xsdb% targets ``` > **Note:** For non-interactive usage such as scripting, you can use the `-filter` option to select a target instead of selecting the target using its ID. -### Loading boot components using XSCT +##### Loading boot components using XSDB -1. Download the boot images for the target using XSCT with the `fpga` and `dow` +1. Download the boot images for the target using XSDB with the `fpga` and `dow` command. ZyqnMP boot images will be located in the `${DEPLOY_DIR_IMAGE}` directory. @@ -73,43 +98,43 @@ xsct% targets 2. Program the bitstream or skip this step if you are loading from u-boot or linux. ``` -xsct% fpga -no-revision-check ${DEPLOY_DIR_IMAGE}/download.bit +xsdb% fpga -no-revision-check ${DEPLOY_DIR_IMAGE}/download.bit ``` 3. By default, JTAG security gates are enabled. Disable the security gates for DAP, PL TAP, and PMU (this makes the PMU MB target visible to the debugger). ``` -xsct% targets -set -nocase -filter {name =~ "*PSU*"} -xsct% mask_write 0xFFCA0038 0x1C0 0x1C0 +xsdb% targets -set -nocase -filter {name =~ "*PSU*"} +xsdb% mask_write 0xFFCA0038 0x1C0 0x1C0 ``` 3. Verify if the PMU MB target is listed under the PMU device. Now, load the PMU firmware. ``` -xsct% targets -set -nocase -filter {name =~ "*MicroBlaze PMU*"} -xsct% catch {stop} -xsct% dow ${DEPLOY_DIR_IMAGE}/pmufw.elf -xsct% con +xsdb% targets -set -nocase -filter {name =~ "*MicroBlaze PMU*"} +xsdb% catch {stop} +xsdb% dow ${DEPLOY_DIR_IMAGE}/pmufw.elf +xsdb% con ``` 5. Reset APU Cortex-A53 Core 0 to load and execute FSBL, This step is important, because when the ZynqMP boots up in JTAG boot mode, all the APU and RPU cores are held in reset. You must clear the resets on each core before performing - debugging on these cores. You can use the `rst` command in XSCT to clear the + debugging on these cores. You can use the `rst` command in XSDB to clear the resets. ``` -xsct% targets -set -nocase -filter {name =~ "*A53*#0"} -xsct% rst -processor -clear-registers +xsdb% targets -set -nocase -filter {name =~ "*A53*#0"} +xsdb% rst -processor -clear-registers ``` 6. Download and run FSBL from APU Cortex-A53 Core 0 ``` -xsct% dow ${DEPLOY_DIR_IMAGE}/zynqmp_fsbl.elf -xsct% con +xsdb% dow ${DEPLOY_DIR_IMAGE}/zynqmp_fsbl.elf +xsdb% con ``` 7. Now download TF-A, U-boot.elf and Device tree to APU and execute. ``` -xsct% stop -xsct% dow ${DEPLOY_DIR_IMAGE}/bl31.elf -xsct% dow ${DEPLOY_DIR_IMAGE}/u-boot.elf -xsct% dow -data ${DEPLOY_DIR_IMAGE}/system.dtb 0x100000 -xsct% con +xsdb% stop +xsdb% dow ${DEPLOY_DIR_IMAGE}/bl31.elf +xsdb% dow ${DEPLOY_DIR_IMAGE}/u-boot.elf +xsdb% dow -data ${DEPLOY_DIR_IMAGE}/system.dtb 0x100000 +xsdb% con ``` 8. In the target Serial Terminal, press any key to stop the U-Boot auto-boot. @@ -119,7 +144,7 @@ Hit any key to stop autoboot: 0 U-Boot> ``` -### Loading Kernel, Root Filesystem and U-boot boot script +##### Loading Kernel, Root Filesystem and U-boot boot script Load the images into the target DDR/PL DRR load address i.e., `DDR base address + `. @@ -145,48 +170,50 @@ using U-Boot. > 4. If common ${DEPLOY_DIR_IMAGE}/system.dtb is used by u-boot and kernel, this > is already part of boot.bin we can skip loading dtb, else load kernel dtb. -#### Using XSCT +###### Using XSDB -1. Suspend the execution of active target using `stop` command in XSCT. +1. Suspend the execution of active target using `stop` command in XSDB. ``` -xsct% stop +xsdb% stop ``` 2. Using the `dow` command to load the images into the target DDR/PL DDR load address. ``` -xsct% dow -data ${DEPLOY_DIR_IMAGE}/Image 0x200000 -xsct% dow -data ${DEPLOY_DIR_IMAGE}/system.dtb 0x100000 -xsct% dow -data ${DEPLOY_DIR_IMAGE}/core-image-minimal-${MACHINE}.cpio.gz.u-boot 0x4000000 -xsct% dow -data ${DEPLOY_DIR_IMAGE}/boot.scr 0x20000000 +xsdb% dow -data ${DEPLOY_DIR_IMAGE}/Image 0x200000 +xsdb% dow -data ${DEPLOY_DIR_IMAGE}/system.dtb 0x100000 +xsdb% dow -data ${DEPLOY_DIR_IMAGE}/core-image-minimal-${MACHINE}.cpio.gz.u-boot 0x4000000 +xsdb% dow -data ${DEPLOY_DIR_IMAGE}/boot.scr 0x20000000 ``` -#### Using TFTP +###### Using TFTP -1. Configure the `ipaddr` and `serverip` of the U-Boot environment. +1. Setup TFTP directory on host machine and copy the images to your TFTP directory + so that you can load them from U-Boot. +2. Configure the `ipaddr` and `serverip` of the U-Boot environment. ``` -Versal> set serverip -Versal> set ipaddr +ZynqMP> set serverip +ZynqMP> set ipaddr ``` -2. Load the images to DDR address. Make sure images are copied to tftp directory. +3. Load the images to DDR address. ``` -U-Boot> tftpboot 0x200000 ${TFTPDIR}/Image -U-Boot> tftpboot 0x100000 ${TFTPDIR}/system.dtb -U-Boot> tftpboot 0x4000000 ${TFTPDIR}/core-image-minimal-${MACHINE}.cpio.gz.u-boot -U-Boot> tftpboot 0x20000000 ${TFTPDIR}/boot.scr +U-Boot> tftpboot 0x200000 Image +U-Boot> tftpboot 0x100000 system.dtb +U-Boot> tftpboot 0x4000000 core-image-minimal-${MACHINE}.cpio.gz.u-boot +U-Boot> tftpboot 0x20000000 boot.scr ``` -### Booting Linux +##### Booting Linux Once the images are loaded continue the execution. 1. After loading images resume the execution of active target using the `con` -command in XSCT shell, Skip step 1 for if you have used TFTP to load images. +command in XSDB shell, Skip step 1 for if you have used TFTP to load images. ``` -xsct% con +xsdb% con ``` -2. Terminate xsct shell. +2. Terminate xsdb shell. ``` -xsct% exit +xsdb% exit ``` 3. In the target Serial Terminal, from U-Boot prompt run `boot` command. ``` @@ -204,9 +231,9 @@ U-Boot> boot 1. To boot ZCU012 board in QSPI boot mode, Power on the ZCU102 board and boot using JTAG or SD boot mode, to ensure that U-Boot is running and also have - boot.bin copied to DDR location using XSCT `dow` or `tftpboot` or `fatload` + boot.bin copied to DDR location using XSDB `dow` or `tftpboot` or `fatload` command. 2. Follow Flash boot instructions [README](README.booting.flash.md) for more details. 3. After flashing the images, turn off the power switch on the board, and change the SW6 boot mode pin settings to QSPI boot mode (1-ON, 2-ON, 3-OFF, 4-ON) by - setting the SW6. Refer [Setting Up the Target](#setting-up-the-target). \ No newline at end of file + setting the SW6. Refer [Setting Up the Target](#setting-up-the-target). -- cgit v1.2.3-54-g00ecf From ccd0c4094bddc7e954c7ca985e1a3b462b334e81 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Wed, 13 Mar 2024 14:33:52 -0600 Subject: xlnx-embeddedsw: Update AUTOREV When using AUTOREV with BB_NO_NETWORK = '1', the system would fail with a circular dependency on a parse error. Adding the skip code, and moving the default value to 'INVALID' will ensure that the user is notified with an appropriate error, and no parse issues occur. Signed-off-by: Mark Hatle --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 1e9e3729..d5b8ef82 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -13,7 +13,7 @@ ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "73f0904e41cc109f18bb19a5329d0e5a66af2434" ESW_REV[2024.1] = "ad038fbbeccd66f126ad80980452b8fecee60e4f" -SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or '${AUTOREV}'}" +SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or 'INVALID'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" EMBEDDEDSW_SRCURI ?= "${REPO};${EMBEDDEDSW_BRANCHARG}" @@ -27,3 +27,13 @@ LIC_FILES_CHKSUM ??= "file://license.txt;md5=${@d.getVarFlag('LIC_FILES_CHKSUM', SRC_URI = "${EMBEDDEDSW_SRCURI}" PV .= "+git${SRCPV}" + +python() { + if d.getVar('BB_NO_NETWORK') == '1': + try: + # Just evaluating SRCPV / SRCREV can trigger an exception when BB_NO_NETWORK is enabled. + var = d.getVar('SRCPV') + var = d.getVar('SRCREV') + except: + raise bb.parse.SkipRecipe('BB_NO_NETWORK is enabled, can not fetch SRCREV (%s)' % d.getVar('SRCREV')) +} -- cgit v1.2.3-54-g00ecf From 2cf170068d64f9cf313ec7d38021424074ded81a Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Sat, 16 Mar 2024 12:45:36 +0530 Subject: dfx-mgr : Updated SRCREV for 2024.1_8635 dfx_mgr: Removing unused graph code --- meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb index 372e9df4..b0acf0ef 100644 --- a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb +++ b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb @@ -9,7 +9,7 @@ BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != ' SRC_URI = "${REPO};${BRANCHARG}" BRANCH = "master" -SRCREV = "898fe38023d15d54402c788bcbca67a29eb2dc3d" +SRCREV = "ec70363a2a878737057995f922a9460d18aafa26" SOMAJOR = "1" SOMINOR = "0" SOVERSION = "${SOMAJOR}.${SOMINOR}" -- cgit v1.2.3-54-g00ecf From a8c2758ce6be24ba9e9542016e067afa428bdace Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Sat, 16 Mar 2024 12:48:36 +0530 Subject: xen : Updated SRCREV for 2024.1_3819 arm/smmu: adjust pdev->domain PCI assignment arm/pci: select HAS_PCI_MSI --- meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb b/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb index 557c87e2..daa27b5b 100644 --- a/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb +++ b/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb @@ -1,5 +1,5 @@ # tag: RELEASE-4.18.0 -SRCREV ?= "72b27a92c09701017cb797dbc1e0c5c72aa073dc" +SRCREV ?= "7cb7aac7f570757b67bcd43aec67e0cda9f58b14" XEN_URI ?= "git://xenbits.xen.org/xen.git" XEN_REL ?= "4.18" -- cgit v1.2.3-54-g00ecf From 908c9fd1ca92b1af896dbac3eb17cde10952284f Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Sun, 17 Mar 2024 13:05:14 +0530 Subject: aie-rt : Updated SRCREV for 2024.1_6083 fal: src: Replace single letter function arguments. --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index 2bc39ce2..0541a7a3 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "main-aie" -SRCREV ?= "1412110f75e8748a2e6b35de0c4853b403b3d1f5" +SRCREV ?= "5621d74d5efa99fdddd9eca47de3294804c62c24" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From e4339455f0d47f336e627f743c75566551d7b547 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 18 Mar 2024 18:29:26 +0530 Subject: arm-trusted-firmware : Updated SRCREV for 2024.1_2527 docs(versal-net): update SMC convention docs(versal): update SMC convention docs(zynqmp): update SMC convention --- .../recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb index e413f75b..fee8e069 100644 --- a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb +++ b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2024.1.bb @@ -1,5 +1,5 @@ ATF_VERSION = "2.10" -SRCREV = "c90834c912f7a31ce7634adfd22fd70e1bc5e3c5" +SRCREV = "4f82b6134e7b43722616c855e5016d42a3ea26d2" BRANCH = "xlnx_rebase_v2.10" LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031" -- cgit v1.2.3-54-g00ecf From 5ae412cfed7fa68e0cda39faa7bd714b3d5b32af Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 18 Mar 2024 19:15:36 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_7691 lib: sw_apps: Fix the race condition when picking a linker from an external path scripts: pyesw: retarget_app: Remove the dependency of xiltimer in embedded applications sw_apps: imgsel: zynqmp: Added validation check for SOM usecase rfdc: CMakeLists dependencies dfeprach: CMakeLists dependencies dfeofdm: CMakeLists dependencies dfemix: CMakeLists dependencies dfeequ: CMakeLists dependencies dfeccf: CMakeLists dependencies trngpsv: Fix doxygen warnings xilpm: versal_common: server: fix MISRA-C rule 4.7 sw_apps: Added support for Microblaze RISC-V sw_services:xilsecure:Code redundancy is removed pciepsu: Add Egress transfer support Add Authentication Optimization support for MetaHeader zynq_fsbl: fix prints for 32 bit variables zynqmp_fsbl: fix prints for 32 bit variables xilplmi: fix prints for 32 bit variables dp14txss:dp14rxss: Removed the option of self_test example design BSP: cortexr5: Move the _TCM_*_REGION definitions to a C source file drivers:trngpsv:updated yaml file xilloader: macronix 2G flash part support xilpm: Secure lockdown house clean time out Revert "xilpm: versal_net: client: add idle call back support" csudma: Add doxygen fixes --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index d5b8ef82..f355f5fd 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "73f0904e41cc109f18bb19a5329d0e5a66af2434" -ESW_REV[2024.1] = "ad038fbbeccd66f126ad80980452b8fecee60e4f" +ESW_REV[2024.1] = "594958ff1630ffd0488b9e0bac9cb9473c05098b" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or 'INVALID'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 3caa08a6914e5a6c207e99642f6723e13d3c2ed9 Mon Sep 17 00:00:00 2001 From: John Toomey Date: Thu, 14 Mar 2024 11:12:04 +0000 Subject: xclbinutil-native: Add minimal recipe based on XRT Add a minimal xclbinutil recipe based on the existing XRT recipe Signed-off-by: John Toomey Signed-off-by: Mark Hatle (cherry picked from commit 49e14580b9942aeb45b6d046b9379e51c090f72d) Signed-off-by: Mark Hatle --- .../recipes-xrt/xrt/xclbinutil-native_git.bb | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 meta-xilinx-core/recipes-xrt/xrt/xclbinutil-native_git.bb diff --git a/meta-xilinx-core/recipes-xrt/xrt/xclbinutil-native_git.bb b/meta-xilinx-core/recipes-xrt/xrt/xclbinutil-native_git.bb new file mode 100644 index 00000000..e0edbb7b --- /dev/null +++ b/meta-xilinx-core/recipes-xrt/xrt/xclbinutil-native_git.bb @@ -0,0 +1,29 @@ +SUMMARY = "Xilinx Runtime(XRT) - minimal native build for xclbinutil" +DESCRIPTION = "Native build of xclbinutil using XRT codebase" + +require xrt.inc + +FILESEXTRAPATHS:append := ":${THISDIR}/xrt" + +LICENSE = "GPL-2.0-or-later & Apache-2.0 & MIT" +LIC_FILES_CHKSUM = " \ + file://../LICENSE;md5=de2c993ac479f02575bcbfb14ef9b485 \ + file://runtime_src/core/edge/drm/zocl/LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8 \ + file://runtime_src/core/pcie/driver/linux/xocl/LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://runtime_src/core/pcie/linux/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ + file://runtime_src/core/tools/xbutil2/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ + file://runtime_src/core/common/elf/LICENSE.txt;md5=b996e8b74af169e7e72e22d9e7d05b06 \ +" + +S = "${WORKDIR}/git/src" + +inherit cmake pkgconfig native + +DEPENDS = "libdrm-native ocl-icd-native boost-native rapidjson-native protobuf-native python3-pybind11-native systemtap-native" + +EXTRA_OECMAKE += " -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXPORT_COMPILE_COMANDS=ON" + +do_install() { + install -d ${D}${bindir} + install -Dm 0755 ${WORKDIR}/build/runtime_src/tools/xclbinutil/xclbinutil ${D}${bindir} +} -- cgit v1.2.3-54-g00ecf From d75b6a59c0675375a810e28c4d11fb0532b2e487 Mon Sep 17 00:00:00 2001 From: Manikanta Guntupalli Date: Fri, 15 Mar 2024 17:23:06 +0530 Subject: u-boot-xlnx : Update SRCREV arm64: zynqmp: Add resets and assigned-clock-rates properties for KD240 Signed-off-by: Manikanta Guntupalli Signed-off-by: Mark Hatle (cherry picked from commit c73652b9f1b46ded3b672c022de0a79e306fdc25) Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc index cab39159..fba6fd22 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2023.01" UBRANCH = "xlnx_rebase_v2023.01" -SRCREV = "0fc19cad5a07a09958443e7a5b6f11e420ef195c" +SRCREV = "2b54ad6f1d278c419b927d10db2edf323d844578" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From a5efdc57797ead8bc9d9ae58b6d30d67b834a810 Mon Sep 17 00:00:00 2001 From: Varalaxmi Bingi Date: Thu, 14 Mar 2024 23:26:41 +0530 Subject: machine-xilinx-default.inc: use u-boot.elf for MB and Zynq For microblaze u-boot not booting on qemu or hw after moving to u-boot 2024.1 rebase branch. Reason explained below: u-boot will provide output files as u-boot.elf, u-boot, u-boot.bin, u-boot-nodtb.bin etc.. For Microblaze and Zynq we are using u-boot output file For aarch64 family we are using u-boot.elf u-boot: which has no relocation inside, then we apply relocation (rela section) over binary. and then copying as u-boot.elf and using it. u-boot.elf: It will relocation inside it and without debug symbols. After recent relocation changes in u-boot we should use u-boot.elf only for all platforms. Signed-off-by: Varalaxmi Bingi Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc b/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc index e99b1f0e..c732523c 100644 --- a/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc +++ b/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc @@ -28,8 +28,7 @@ do_image_wic[depends] += "${@' '.join('%s:do_deploy' % r for r in (d.getVar('WIC UBOOT_SUFFIX ?= "bin" UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}" -UBOOT_ELF ?= "u-boot" -UBOOT_ELF:aarch64 ?= "u-boot.elf" +UBOOT_ELF ?= "u-boot.elf" # libmali is selected by DISTRO_FEATURE of libmali & MACHINE_FEATURES of mali400 # lima is selected by DISTRO_FEATURE != libmali & MACHINE_FEATURES of mali400 -- cgit v1.2.3-54-g00ecf From 68bc1eaea6a6dda3e385ff8bf7162d6b488183a4 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Thu, 14 Mar 2024 12:49:47 -0600 Subject: u-boot-xlnx-microblaze.inc: Fix Endiannes did not match qa issue Using u-boot.elf for Microblaze, u-boot fails to build with below errors. ERROR: u-boot-xlnx-1_v2024.01-xilinx-v2024.1+gitAUTOINC+db3e1e025f-r0 do_package_qa: QA Issue: Endiannes did not match (0, expected 1) in /boot/u-boot-kcu105-microblazeel-v2024.01-xilinx-v2024.1+gitAUTOINC+db3e1e025f-r0.elf [arch] ERROR: u-boot-xlnx-1_v2024.01-xilinx-v2024.1+gitAUTOINC+db3e1e025f-r0 do_package_qa: Fatal QA errors were found, failing task. So fix qa issue by adding arch to INSANE_SKIP for u-boot package. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-microblaze.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-microblaze.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-microblaze.inc index 1f6781b6..57c00c6e 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-microblaze.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-microblaze.inc @@ -2,5 +2,5 @@ SRC_URI += " \ file://microblaze-generic.cfg \ " -# Disable buildpaths QA check warnings for u-boot-xlnx.elf. -INSANE_SKIP:${PN}-elf += "buildpaths" +# Disable buildpaths and arch QA check warnings for u-boot-xlnx.elf. +INSANE_SKIP:${PN}-elf += "buildpaths arch" -- cgit v1.2.3-54-g00ecf From 2152429d77c0f006aeb4adca0672fb441b7d4c92 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 19 Mar 2024 16:43:12 +0530 Subject: xen : Updated SRCREV for 2024.1_6375 arm/smmu: adjust pdev->domain PCI assignment arm/pci: select HAS_PCI_MSI xen/dt: create dom0 and domU DT nodes for vPCI with correct addresses xen/pci: vpci_get_msi_base should check on domain_use_host_layout arm/smmu: remove is_hardware_domain check in assign xen/pci: use has_vpci_bridge in vpci and pci xen/pci: introduce has_vpci_bridge xen/arm: create dom0less virtio-pci DT node arm/iommu: allow arm_iommu_unmap_page for non-direct-mapped domains xen/arm: fix vgic and vpl011 to use domain_use_host_layout docs: add device tree overlay documentation add a domU script to fetch overlays and applying them to linux xl/overlay: add remove operation to xenstore get_overlay: remove domU overlay tools/helpers: Add get_overlay tools/xl: Share overlay with domU tools/libs/light: Modify dtbo to domU linux dtbo format tools: Add domain_id and expert mode for overlay operations xen/overlay: Enable device tree overlay assignment to running domains rangeset: Move struct range and struct rangeset to headerfile tools/libs/light: Increase nr_spi to 160 tools/libs/light: Always enable IOMMU xen/arm: Always enable IOMMU xen/arm/gic: Enable interrupt assignment to running VM xen/pci: add linux,pci-domain property pci: permit dom0 access to pci devices when pci-scan=yes xen/arm: initialize Versal CPM PCIe host controller xen/arm: initial support for Versal PCIe host controller xen/arm: pci: add function to initialize host bridge xen/pci: do not let vpci dom0 read/write to all pci devs xen/pci: scan only buses in the range supported by the bridge xen/vpci: Clear all vpci status of device xen/pci: initialize BARs xen/pci: helpers to get/reserve BAR ranges arm/pci: keep track of PCI ranges in rangeset rangeset: add rangeset_find_aligned_range() xen/dt: pass flags to callback in dt_for_each_range() arm/pci: permit access to BARs for dom0less domUs xen/arm: enable vPCI for dom0less domUs xen/arm: pci device passthrough for dom0less guests xen/pci: Create pci_assign_device xen/pci: assign pci devices to hardware domain xen/pci: update DT for hwdom when it uses vpci xen/pci: disable pci_device_{add,remove} when hwdom uses vpci on arm xen/pci: helper function for hwdom using vpci xen/arm: add emulated ITS node to gicv3 for domUs using vpci xen/pci: add discovered PCI device at boot xen/pci: modify pci_add_device to handle device add by Xen arm/pci: Add pci-scan boot argument arm/vgic: provide late_init function xen/vpci: initialize msix->next xen/arm: Enable the existing MSI-X and MSI handlers support for ARM xen/vpci: msix: change return value of vpci_msix_{read,write} xen/vpci: msix: move x86 specific code to x86 file xen/arm: map ITS doorbell registers for domUs xen/arm: Modify VITS code to support MSI/MSIX interrupt for DOMU guests. arm/libxl: Emulated ITS device tree node in libxl xen/arm: Map ITS doorbell register to IOMMU page tables xen/arm: enable dom0 to use PCI devices with pci-passthrough=no xen/arm: Fix mapping for PCI bridge mmio region xen/arm: smmuv3: Add PCI devices support for SMMUv3 xen/arm: smmuv2: Add PCI devices support for SMMUv2 iommu/arm: iommu_add_dt_pci_sideband_ids phantom handling iommu/arm: Introduce iommu_add_dt_pci_sideband_ids API iommu/arm: Add iommu_dt_xlate() tools/arm: enable vPCI for domUs xen/arm: enable vPCI for domUs xen/arm: enable vPCI for dom0 xen/vpci: move xen_domctl_createdomain vPCI flag to common xen/arm: pci: introduce PCI_PASSTHROUGH Kconfig option xen/vpci: handler for min_gnt, max_lat xen/vpci: handler interrupt line/pin xen/vpci: handlers for subsystem vendor ID, subsystem ID xen/vpci: handler for cardbus cis ptr xen/vpci: handlers for class/revision, cacheline size, latency timer, header type, bist xen/vpci: handler for VID/DID arm/vpci: make prefetchable mem 64 bit arm/vpci: honor access size when returning an error xen/arm: account IO handlers for emulated PCI MSI-X xen/arm: translate virtual PCI bus topology for guests vpci: add initial support for virtual PCI bus topology vpci/header: emulate PCI_COMMAND register for guests vpci/header: program p2m with guest BAR view vpci/header: handle p2m range sets per BAR rangeset: add rangeset_purge() function rangeset: add RANGESETF_no_print flag vpci/header: implement guest BAR register handlers vpci/header: rework exit path in init_header() vpci: add hooks for PCI device assign/de-assign vpci: restrict unhandled read/write operations for guests vpci: use per-domain PCI lock to protect vpci structure pci: msi: pass pdev to pci_enable_msi() function pci: introduce per-domain PCI rwlock xen/vpci: header: filter PCI capabilities xen/vpci: header: status register handler docs: Add documentation for virtio-console libxl: dm: Set virtio-pci related parameters for QEMU libxl: Add "backend_type" property for the Virtio devices xen-init-dom0: create a device model xenstore entry libxl/arm: Reuse generic PCI-IOMMU bindings for virtio-pci devices libxl/arm: Add basic virtio-pci support xen/public: arch-arm: reserve resources for virtio-pci xen/arm: switch partial-emulation default to true xen/arm: arm32: Add emulation of Debug Data Transfer Registers xen/arm: arm64: Add emulation of Debug Data Transfer Registers xen/arm: Introduce CONFIG_PARTIAL_EMULATION and "partial-emulation" cmd option xen: arm32: Fix some compilation issues xen/arm: Use host layout for hwdom if LLC coloring enabled --- meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx_4.18.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx_4.18.inc b/meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx_4.18.inc index 6ab22816..2290a418 100644 --- a/meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx_4.18.inc +++ b/meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx_4.18.inc @@ -1,4 +1,4 @@ -SRCREV = "6c8d45643aad8fcfe0e4b31ae9b36ceeb2bf91c5" +SRCREV = "7cb7aac7f570757b67bcd43aec67e0cda9f58b14" XEN_URI = "git://github.com/Xilinx/xen.git;protocol=https" XEN_BRANCH = "xlnx_rebase_4.18" -- cgit v1.2.3-54-g00ecf From 525bc764ee57e10e46c219e8b755e956b7f3c5e6 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 19 Mar 2024 16:53:34 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_7775 lib: bsp: standalone: Add symbol VERSAL for versal platform in SDT flow v_hdmitxss: Fix interrupt ID argument in interrupt setup function v_hdmirxss: Fix interrupt ID argument in interrupt setup gpiops: Add multi-core interrupt support --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index f355f5fd..7284f21d 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "73f0904e41cc109f18bb19a5329d0e5a66af2434" -ESW_REV[2024.1] = "594958ff1630ffd0488b9e0bac9cb9473c05098b" +ESW_REV[2024.1] = "e367a6b8df2a30b12e5c88157afd98322a06c8a6" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or 'INVALID'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 8b38759ff39db98c29651a2d80eedb2fb1a105aa Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 19 Mar 2024 16:57:24 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_5791 mtd: spi-nor: Enable DDR mode functionality with Macronix flash mtd: spi-nor: Enable DDR mode functionality with Gigadevice flash mtd: spi-nor: Enable DDR mode functionality with ISSI flash spi: cadence_qspi: Modified the rx_dll_tuning function to support generic execution arm64: versal-net: Align spi-max-frequency for se7 arm64: versal: Remove flexnoc node arm64: zynqmp: Add missing description for vm-p-m1369 --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index 09933c7c..56d65113 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2024.01" UBRANCH = "xlnx_rebase_v2024.01" -SRCREV = "db3e1e025f5b7d67e82cbd30e9c26a25009caa05" +SRCREV = "19348a61f408d61afd7997adf511895d87b0d3ac" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From 8f50f84a9a7175f9f0d7638074ccd5956be37840 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 20 Mar 2024 13:04:50 +0530 Subject: vcu-modules : Updated SRCREV for 2024.1_3583 dmaproxy: Use DMA_TO_DEV in dma_map_page API for destination buffer --- meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb index 35dffb16..be8f6075 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb @@ -13,7 +13,7 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/files:" BRANCH = "master" REPO = "git://github.com/Xilinx/vcu-modules.git;protocol=https" -SRCREV = "2ae83fc79f8a2db74be65883583cc6ad32d245e5" +SRCREV = "91d19a16308a438596138d30d8174e148fc45584" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = " \ -- cgit v1.2.3-54-g00ecf From 7b9e07173566b6d4969e97cf4dc2ef2b86ec0b39 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 20 Mar 2024 20:01:01 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_7819 dp14: Removed application examples from yaml file dp14txss: Removed xdptxss_selftest_example application dp14rxss: Removed xdprxss_selftest_example application mipicsiss: example: Update VEK280 app. mipicsiss: example: Updated VCK190 app mipicsiss: example: Update ZCU102 application mipi: data: Fix yaml to support Unified flow v_sdirxss: Add support for SDI import example option xilpm: Fix MISRA violation 10.5i 10.3 in xpm_periph.c xilpm: remove XPmRepair_Laguna_vp1902 when it is not build for XCVP1902 xilpm: Fix MISRA C violation by replace PIN_FUNC macro xilpm: Fix MISRA violation 12.1, 10.1, 10.4, 10.3 in xpm_api.c xilpm: Fix MISRA violation 8.13 in xpm_notifier sw_services: xilsecure: Optimization of AES initialization code sw_services: xilloader: Fixed doxygen warnings lwip : Fix format specifier warning sw_services: xilplmi: Fix improper PLM timestamp issue after In-place PLM update drivers: iomodule: Initialize HandlerTable of the IOModule instance in a function to support In-place PLM update --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 7284f21d..93c09ebf 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -12,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "73f0904e41cc109f18bb19a5329d0e5a66af2434" -ESW_REV[2024.1] = "e367a6b8df2a30b12e5c88157afd98322a06c8a6" +ESW_REV[2024.1] = "1fbdaf4d1b22e735c39fce588eea55214c38255a" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or 'INVALID'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From d5673ef65ce1c97aaeaaae226f1293a9532d5fc5 Mon Sep 17 00:00:00 2001 From: Sharath Kumar Dasari Date: Mon, 18 Mar 2024 13:32:52 +0530 Subject: xlnx-embeddedsw: Update SRCREV for xlnx_rel_v2023.2_update branch Update SRCREV for xlnx_rel_v2023.2_update branch to pull in the latest changes for image selector app Signed-off-by: Sharath Kumar Dasari Signed-off-by: Mark Hatle (cherry picked from commit 03d5b1500ee95320bfacc785ce832c04b3435d3d) Signed-off-by: Mark Hatle --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 93c09ebf..10fb549f 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -1,3 +1,4 @@ + # Automatically determnine the version from the bb file ESW_VER ?= "${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or 'master'}" @@ -11,7 +12,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" -ESW_REV[2023.2] = "73f0904e41cc109f18bb19a5329d0e5a66af2434" +ESW_REV[2023.2] = "e847e1935dca630615e5f7dc694365a44b89699c" ESW_REV[2024.1] = "1fbdaf4d1b22e735c39fce588eea55214c38255a" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or 'INVALID'}" -- cgit v1.2.3-54-g00ecf From 375cb005b318bbe22bc7243a00b37e7de10ca219 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Mon, 18 Mar 2024 14:26:09 -0600 Subject: xen_4.18.bb: Use upstream commit id xen_4.18.bb SRCREV should be using to upstream commit id and not xilinx xen repo commit id. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb b/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb index daa27b5b..d2a09a89 100644 --- a/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb +++ b/meta-xilinx-virtualization/recipes-extended/xen/xen_4.18.bb @@ -1,5 +1,5 @@ # tag: RELEASE-4.18.0 -SRCREV ?= "7cb7aac7f570757b67bcd43aec67e0cda9f58b14" +SRCREV ?= "d75f1e9b74314cea91ce435730d4e3539ecca77d" XEN_URI ?= "git://xenbits.xen.org/xen.git" XEN_REL ?= "4.18" -- cgit v1.2.3-54-g00ecf From 7b2d34a599d065596727d43d2d5a19d387a2ce7a Mon Sep 17 00:00:00 2001 From: Parth Gajjar Date: Mon, 18 Mar 2024 08:05:14 -0700 Subject: kernel-module-mali: Fixed buildpath QA warning Added: 0029-Fixed-buildpath-QA-warning.patch Resolved buildpath QA warning Signed-off-by: Parth Gajjar Signed-off-by: Mark Hatle --- .../recipes-graphics/mali/kernel-module-mali.bb | 1 + .../0029-Fixed-buildpath-QA-warning.patch | 29 ++++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0029-Fixed-buildpath-QA-warning.patch diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali.bb b/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali.bb index cd3ba3d1..3fffb310 100644 --- a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali.bb +++ b/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali.bb @@ -35,6 +35,7 @@ SRC_URI = " \ file://0026-Fix-gpu-driver-probe-failure.patch \ file://0027-Updated-clock-name-and-structure-to-match-LIMA-drive.patch \ file://0028-Replace-vma-vm_flags-direct-modifications-with-modif.patch \ + file://0029-Fixed-buildpath-QA-warning.patch \ " SRC_URI[md5sum] = "85ea110dd6675c70b7d01af87ec9633c" SRC_URI[sha256sum] = "7a67127341d17640c1fff5dad80258fb2a37c8a2121b81525fe2327e4532ce2b" diff --git a/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0029-Fixed-buildpath-QA-warning.patch b/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0029-Fixed-buildpath-QA-warning.patch new file mode 100644 index 00000000..a3ddafed --- /dev/null +++ b/meta-xilinx-core/recipes-graphics/mali/kernel-module-mali/0029-Fixed-buildpath-QA-warning.patch @@ -0,0 +1,29 @@ +From 7659ba2e251b72aa3c248d3b1f3a23971180ba41 Mon Sep 17 00:00:00 2001 +From: Parth Gajjar +Date: Mon, 18 Mar 2024 13:43:30 +0000 +Subject: [PATCH] Fixed buildpath QA warning + +Removed KDIR from buildinfo +WARNING: kernel-module-mali-r9p0-01rel0-r0 do_package_qa: +QA Issue: File /lib/modules/6.6.10-xilinx-v2024.1-g2c37bbe14ced/updates/mali.ko + in package kernel-module-mali-6.6.10-xilinx-v2024.1-g2c37bbe14ced contains + reference to TMPDIR [buildpaths]" from the log file. + +Signed-off-by: Parth Gajjar + +diff --git a/Kbuild b/Kbuild +index 8c6e6e0..2b8632b 100644 +--- a/Kbuild ++++ b/Kbuild +@@ -243,7 +243,7 @@ VERSION_STRINGS += BUILD=release + endif + VERSION_STRINGS += TARGET_PLATFORM=$(TARGET_PLATFORM) + VERSION_STRINGS += MALI_PLATFORM=$(MALI_PLATFORM) +-VERSION_STRINGS += KDIR=$(KDIR) ++#VERSION_STRINGS += KDIR=$(KDIR) + VERSION_STRINGS += OS_MEMORY_KERNEL_BUFFER_SIZE_IN_MB=$(OS_MEMORY_KERNEL_BUFFER_SIZE_IN_MB) + VERSION_STRINGS += USING_UMP=$(CONFIG_MALI400_UMP) + VERSION_STRINGS += USING_PROFILING=$(CONFIG_MALI400_PROFILING) +-- +2.37.6 + -- cgit v1.2.3-54-g00ecf From 3f4620056f0c09720f875af283e9741719cc64dd Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 21 Mar 2024 13:04:11 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_6611 arm64: zynqmp: dts: Add required properties for rs485 support for KD240 spi: cadence_qspi: Fix OSPI boot issue arm64: versal: Add clocks and power domains for LPD SWDT dt-bindings: power: Add PM for LPD SWDT arm64: versal: Add LPD SWDT node in versal.dtsi mtd: spi-nor: Address the Macronix flash probe failure mtd: spi-nor: Store GPIO info during flash probe --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index 56d65113..08e625c2 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2024.01" UBRANCH = "xlnx_rebase_v2024.01" -SRCREV = "19348a61f408d61afd7997adf511895d87b0d3ac" +SRCREV = "c0dbd5ec673441d8d8de4ac03a3b92c9512bfd6e" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From 8b67275c559e493a07787252f7a6c9cecee92393 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 21 Mar 2024 18:47:38 +0530 Subject: linux-xlnx : Updated SRCREV for 2024.1_1971 watchdog: xilinx_wwdt: Add check for timeout limit and set maximum value if exceeded remoteproc: zynqmp: Change tcm address translation method remoteproc: zynqmp: fix TCM carveouts in lockstep mode mtd: spi-nor: winbond: Add lock/unlock support for W25Q256JWFIM arm64: versal-net: Align spi-max-frequency for se7 arm64: versal: Remove flexnoc node arm64: zynqmp: dts: Add required properties for rs485 support for KD240 arm64: versal: Add clocks and power domains for LPD SWDT dt-bindings: power: Add PM for LPD SWDT arm64: versal: Add LPD SWDT node in versal.dtsi --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index db593947..8c9c80eb 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.6.10" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.6;destsuffix=yocto-kmeta" KBRANCH="xlnx_rebase_v6.6_LTS" -SRCREV = "6737b74785db6341fba18dc6e3d35da9ab8fcfb7" +SRCREV = "6588ef3cf26912333c5f2743ad6445092a09175d" SRCREV_meta = "5d0809d0d939c7738cb6e5391126c73fd0e4e865" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From d16ea3c8de96b5e77b7cacc435223069502b0b37 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 22 Mar 2024 12:42:31 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_4739 gpiops: Fix compilation warning of XGpioPs_SelfTest sw_services:versalnet:xilpuf: Updated PUF client example sw_services:xilloader:Added support for Spansion Die Config xilpm: versal_net: server: Request UART_0 and UART_1 from PMC subsystem v_sditxss: Add SDI substems to peripheral test dfeofdm: Fix SDT flow number of instances dfemix: Fix SDT flow number of instances dfeequ: Fix SDT flow number of instances dfeccf: Fix SDT flow number of instances --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 10fb549f..31ceb018 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -13,7 +13,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "e847e1935dca630615e5f7dc694365a44b89699c" -ESW_REV[2024.1] = "1fbdaf4d1b22e735c39fce588eea55214c38255a" +ESW_REV[2024.1] = "e09e622affce82f87c5ee3204e066eddc93814bd" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or 'INVALID'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From a737193d40f0a9c3f5f879941b9f5eaa4851c706 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 21 Mar 2024 19:31:06 -1200 Subject: vcu-firmware : Updated SRCREV for 2024.1_4795 chore: update to revision d20240216 --- meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb index 7bd9b182..69c4d7ef 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb @@ -10,7 +10,7 @@ S = "${WORKDIR}/git" BRANCH ?= "master" REPO ?= "git://github.com/Xilinx/vcu-firmware.git;protocol=https" -SRCREV = "ffe29273f378619a711aa10664612e6c660ee590" +SRCREV = "6ee1998c53817ab0c137b8b99089337d5caba62c" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" -- cgit v1.2.3-54-g00ecf From 3a27509144275130fb1da8163fa23ec551dfcaee Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 22 Mar 2024 13:02:25 +0530 Subject: vcu-omx-il : Updated SRCREV for 2024.1_4619 chore: update to revision d20240216 --- meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb index 420fdf1d..d39829a0 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb @@ -8,7 +8,7 @@ PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', BRANCH ?= "master" REPO ?= "git://github.com/Xilinx/vcu-omx-il.git;protocol=https" -SRCREV = "01e45e0ac2f869cd46286307ae94d19010fd46df" +SRCREV = "d4280cde354a3becc6565f5aabb4c1a703aa6aec" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" -- cgit v1.2.3-54-g00ecf From 75a03622cd16b265938222b5fbee85f902e1b96d Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Sat, 23 Mar 2024 13:00:26 +0530 Subject: vcu-ctrl-sw : Updated SRCREV for 2024.1_2159 fix: Force sample pack mode packed xv for > 8bits Acked-for-series: Varunkumar Allagadapa fix: add missing nDeviceIndex increment chore: update to revision d20240216 --- meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb index ac7e4aa3..8c3df7db 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb @@ -8,7 +8,7 @@ PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', BRANCH ?= "master" REPO ?= "git://github.com/Xilinx/vcu-ctrl-sw.git;protocol=https" -SRCREV = "918ec1e87c67b2746fe0f2bfa9f1503d307b9bc2" +SRCREV = "940f9fa933402de6f959911c236f36add5dd3a40" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" -- cgit v1.2.3-54-g00ecf From 5783686895aedd5cf613665d7d53fe5c638d8196 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 25 Mar 2024 17:25:38 +0530 Subject: linux-xlnx : Updated SRCREV for 2024.1_7131 staging: xilinx_hdcp: Fix gcc warning crypto: xilinx: RSA support for the Versal platform firmware: xilinx: RSA interface api support for Versal mtd: spi-nor: gigadevice: Add lock/unlock support for GD25B512 spi: spi-cadence-quadspi: Remove dependency on SRAM Fill Register during indirect non-dma read mtd: spi-nor: gigadevice: Set hardware capabilities inline with the opcodes defined in flash info net: macb: Correct WOL CAPS value net: macb: Use queue disable instead of tieoff in Versal suspend --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index 8c9c80eb..019e9de9 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.6.10" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.6;destsuffix=yocto-kmeta" KBRANCH="xlnx_rebase_v6.6_LTS" -SRCREV = "6588ef3cf26912333c5f2743ad6445092a09175d" +SRCREV = "562194b7c36184701c8774d1a07da07deeae374b" SRCREV_meta = "5d0809d0d939c7738cb6e5391126c73fd0e4e865" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From becdcc140559e48638771e7ba54099793aa401ea Mon Sep 17 00:00:00 2001 From: John Toomey Date: Thu, 21 Mar 2024 14:31:31 +0000 Subject: device-tree: Replace symlink with cp It is not currently possible to create symlinks in the /boot partition due to the use of the vfat filesystem and this causes an issue when trying to update the dtb using rpm packages which contain a symlink. Work around the issue by copying the dtb file to the symlink location. Signed-off-by: John Toomey Signed-off-by: Mark Hatle (cherry picked from commit 6ddde9a20775549f1434cba6006f84db1a223cb4) Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-bsp/device-tree/device-tree.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/device-tree/device-tree.bb b/meta-xilinx-core/recipes-bsp/device-tree/device-tree.bb index 1f8ae2e3..9367fa2c 100644 --- a/meta-xilinx-core/recipes-bsp/device-tree/device-tree.bb +++ b/meta-xilinx-core/recipes-bsp/device-tree/device-tree.bb @@ -130,7 +130,7 @@ devicetree_do_install:append() { fi if [ -e "${D}/boot/devicetree/${DTB_FILE_NAME}" ]; then # We need the output to be system.dtb for WIC setup to match XSCT flow - ln -sf devicetree/${DTB_FILE_NAME} ${D}/boot/system.dtb + cp ${D}/boot/devicetree/${DTB_FILE_NAME} ${D}/boot/system.dtb else bberror "Expected filename ${DTB_FILE_NAME} doesn't exist in ${DEPLOYDIR}/devicetree" fi -- cgit v1.2.3-54-g00ecf From c5a28bdc38dd110c377e1750bf8f92ed8040cf71 Mon Sep 17 00:00:00 2001 From: John Vicky Vykuntapu Date: Thu, 21 Mar 2024 11:23:18 +0530 Subject: boot.cmd.ubifs: Fix in boot.scr for vck5000 Due to recent u-boot changes wrt boot_cmd, booti command is taking input as booti 0x00200000 - 0x00001000, and ramdisk address offset is missing in u-boot. So, added JTAG boot mode support in boot script to support jtag boot target, When user wants to debug/boot vck5000 wrt to jtag boot mode. Signed-off-by: John Vicky Vykuntapu Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.ubifs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.ubifs b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.ubifs index dca974ab..fde094cf 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.ubifs +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr/boot.cmd.ubifs @@ -7,6 +7,10 @@ for boot_target in ${boot_targets}; do + echo "Trying to load boot images from ${boot_target}" + if test "${boot_target}" = "jtag" ; then + @@KERNEL_BOOTCMD@@ @@KERNEL_LOAD_ADDRESS@@ @@RAMDISK_IMAGE_ADDRESS@@ @@DEVICETREE_ADDRESS@@ + fi if test "${boot_target}" = "xspi0" || test "${boot_target}" = "qspi" || test "${boot_target}" = "qspi0"; then ubifsls @@FIT_IMAGE@@ if test $? = 0; then -- cgit v1.2.3-54-g00ecf From 2d99275dbcd1eed099ae4626725978a3426e55c9 Mon Sep 17 00:00:00 2001 From: Onkar Harsh Date: Thu, 21 Mar 2024 16:22:00 +0530 Subject: lopper: Update Branch and SRCREV of lopper for 2024.1 Github lopper (https://github.com/devicetree-org/lopper) has now been branched out to v0.2024.x to support 2024.1 release. Update the recipe to use lopper from this branch. The SRCREV update contains below commits: assists: gen_domain_dts: Remove BRAM memory nodes from linux device tree assists: linker/domain: Add support for linear flash memories in linker script lopper: assists: baremetal_validate_comp_xlnx: Update memory test checks for zynq platform lopper: assists: baremetal_xparameters_xlnx: Fix whitespace after the marco name warning assists: baremetal_xparameters_xlnx: Export defines needed by MB V BSP lops: lop-microblaze-riscv: Add support for library fallback mechanism lopper: assists: baremetal_gentestapp_xlnx: Fix the condition for selftest API declartion Signed-off-by: Onkar Harsh Signed-off-by: Mark Hatle --- .../virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend index 92af8a7a..62a3b0f2 100644 --- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend @@ -1,5 +1,5 @@ -SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=master;protocol=https" -SRCREV = "4b687525d2c4785eedbcbd73431bc6d236cb5bc8" +SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=v0.2024.x;protocol=https" +SRCREV = "a85a86eba10c7cd0f8aa4c99aa647ae8bdd72d70" FILESEXTRAPATHS:prepend := "${THISDIR}/lopper:" -- cgit v1.2.3-54-g00ecf From 947bbd44982a6940654d2b6ae077dadc0e37fe99 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 26 Mar 2024 06:03:30 +0530 Subject: xen : Updated SRCREV for 2024.1_5959 arm/gic-v3-its: fix build failure with CONFIG_HAS_ITS=y --- meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx_4.18.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx_4.18.inc b/meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx_4.18.inc index 2290a418..6e920348 100644 --- a/meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx_4.18.inc +++ b/meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx_4.18.inc @@ -1,4 +1,4 @@ -SRCREV = "7cb7aac7f570757b67bcd43aec67e0cda9f58b14" +SRCREV = "dbf966453f3f1f06bc8b7f59a5dc3adabdc8f89f" XEN_URI = "git://github.com/Xilinx/xen.git;protocol=https" XEN_BRANCH = "xlnx_rebase_4.18" -- cgit v1.2.3-54-g00ecf From ab62f0fee94ea4f8525b0eb7033a2cca7e19e1c9 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 26 Mar 2024 06:15:12 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_5291 trafgen: Add SDT check to use interrupt wrapper API wdttb: Add SDT check to use interrupt wrapper API uartpsv: Add SDT check to use interrupt wrapper API uartps: Add SDT check to use interrupt wrapper API gpio: Add SDT check to use interrupt wrapper API clk_wiz: Add SDT check to use interrupt wrapper API axipmon: Add SDT check to use interrupt wrapper API bsp: standalone: Remove 64bit variable prints support for 32bit platforms cpu_cortexr5: Export flag to identify R5 FSBL BSP xloader:versal_net Remove releasing DDR from update psm.elf emacps: Update driver for emacps+pcspma design in SDT flow emacps: Add additional SDT check to XCLOCKING macro lwip : Enable dhcp and acd debug flags in lwip stack lwip : Add ACD Feature in Classic flow lwip : Add ACD Feature in sdt flow. xilpm: versal_common: server: Refactor of AddRequirement() xilpm: versal_net: server: add check for UART instances sw_services: xilsecure: Add support for non-word aligned data i3c: Correct maximum data length value i3c: Add Tx FIFO threshold configuration parameter i3c: Add SCL configuration support ttcps: Add examples support in SDT flow. lwip220: Fix support for emaclite in lwip adapter in SDT flow sw_services: xilpm: Refactor PGGS/GGS ioctl read/write operation checks lib: sw_apps: memory_tests: Add required_mem for Zynq platform scripts: pyesw: library_utils: Fix remove library for windows platform scripts: pyesw: library_utils: Fix race condition in the remove library --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 31ceb018..ce9e81a7 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -13,7 +13,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "e847e1935dca630615e5f7dc694365a44b89699c" -ESW_REV[2024.1] = "e09e622affce82f87c5ee3204e066eddc93814bd" +ESW_REV[2024.1] = "10dd5c32b1f61b8d70b60ddf41768687080ad37c" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or 'INVALID'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 26b714cc3086e36fe82427010b7fcb02863802d8 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 26 Mar 2024 12:37:18 +0530 Subject: vdu-omx-il : Updated SRCREV for 2024.1_7223 chore: update to revision d20240216 --- meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb index 51a03803..91b2a150 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb @@ -9,7 +9,7 @@ PV .= "+git${SRCPV}" BRANCH ?= "master" REPO ?= "git://github.com/Xilinx/vdu-omx-il.git;protocol=https" -SRCREV ?= "a116b0729ace66117ccb7c2aca125c33994b0f41" +SRCREV ?= "af9c6e8935799f4dcd579b0164dd05eb039b569d" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG} \ -- cgit v1.2.3-54-g00ecf From db4ef0830f70e4f59d7bda49067232bb446c1527 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 26 Mar 2024 12:36:49 +0530 Subject: vdu-modules : Updated SRCREV for 2024.1_5407 Modified al5d log message to use VDU instead of VCU --- meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb index 0e3afbc1..ccbe77a8 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb @@ -13,7 +13,7 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/files:" BRANCH ?= "master" REPO ?= "git://github.com/Xilinx/vdu-modules.git;protocol=https" -SRCREV ?= "1529b6aaf784fb5e1cafb11c949c3cb3c69d1dfd" +SRCREV ?= "25773344ce1e539e7136c5a30cdee98a6cf490a8" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG} \ -- cgit v1.2.3-54-g00ecf From 9ca0876a2a28111efa7eb95a550a56dc8bc241d5 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 26 Mar 2024 14:39:58 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_3911 dp14txss: zcu_pt_dp14_hdcp: Fix DP14 HDCP multi combination issues wdttb: Add doxygen fixes --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index ce9e81a7..1a483e9f 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -13,7 +13,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "e847e1935dca630615e5f7dc694365a44b89699c" -ESW_REV[2024.1] = "10dd5c32b1f61b8d70b60ddf41768687080ad37c" +ESW_REV[2024.1] = "bd55a53c2e0bd9d27cd20a2660d14b0024aa8bb4" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or 'INVALID'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From d5699520ac6721f30c8aeba700d831f4d97845a2 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 26 Mar 2024 12:51:55 +0530 Subject: vcu-omx-il : Updated SRCREV for 2024.1_5391 fix: Force sample pack mode setting --- meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb index d39829a0..bff19a9c 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb @@ -8,7 +8,7 @@ PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', BRANCH ?= "master" REPO ?= "git://github.com/Xilinx/vcu-omx-il.git;protocol=https" -SRCREV = "d4280cde354a3becc6565f5aabb4c1a703aa6aec" +SRCREV = "dc34204543b89997577bd2c9757b3c218e6caccc" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" -- cgit v1.2.3-54-g00ecf From 0efd587757f64d21304a1321c6fb979bb9fa5c32 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 27 Mar 2024 06:21:27 +0530 Subject: vdu-ctrl-sw : Updated SRCREV for 2024.1_1747 fix: 10 bits HEVC and AVC streams Acked-for-series: Varunkumar Allagadapa chore: add missing errorCode fix: context fix: add missing nDeviceIndex increment chore: update to revision 20240216 Revert "chore fix compilation issue" --- meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb index 09a06c3e..5186d4fc 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb @@ -13,7 +13,7 @@ REQUIRED_MACHINE_FEATURES = "vdu" BRANCH ?= "master" REPO ?= "git://github.com/Xilinx/vdu-ctrl-sw.git;protocol=https" -SRCREV ?= "db37dc935785dff57a52eabc41ac0bf26b0a1707" +SRCREV ?= "7af131e0780d52ebc7bd6173bf1b99fec4dc522f" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" -- cgit v1.2.3-54-g00ecf From e1bc89ea3bc9c07f6aa3970021fa4c58d18d2f99 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 27 Mar 2024 16:57:22 +0530 Subject: vdu-firmware : Updated SRCREV for 2024.1_7367 fix: 10 bits HEVC and AVC streams chore: update to revision d20240216 --- meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb index d2b991a8..147a80b6 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb @@ -15,7 +15,7 @@ REQUIRED_MACHINE_FEATURES = "vdu" BRANCH ?= "master" REPO ?= "git://github.com/Xilinx/vdu-firmware.git;protocol=https" -SRCREV ?= "7c4662d0f5b514cbb0b9890bc3011d9450bf3661" +SRCREV ?= "724de80630edcb87d865d69f1a6c0dc61c3f9f12" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" -- cgit v1.2.3-54-g00ecf From 1fd25d931d0a1fd8b1f5f253a97ff669860c7541 Mon Sep 17 00:00:00 2001 From: Jonathan Stroud Date: Fri, 22 Mar 2024 17:04:46 -0600 Subject: Change u-boot-xlnx-scr to use copies instead of symlinks symlinks don't work on the /boot FAT partition, so change to copy Signed-off-by: Jonathan Stroud Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr.bb | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr.bb b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr.bb index c3af0185..985ca427 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr.bb +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-scr.bb @@ -264,10 +264,11 @@ do_compile() { do_install() { install -d ${D}/boot install -m 0644 boot.scr ${D}/boot/${UBOOTSCR_BASE_NAME}.scr - ln -sf ${UBOOTSCR_BASE_NAME}.scr ${D}/boot/boot.scr + install -m 0644 boot.scr ${D}/boot/ install -d ${D}/boot/pxeboot/${UBOOTPXE_CONFIG_NAME} install -m 0644 pxeboot.pxe ${D}/boot/pxeboot/${UBOOTPXE_CONFIG_NAME}/default - ln -sf pxeboot/${UBOOTPXE_CONFIG_NAME} ${D}/boot/${UBOOTPXE_CONFIG} + install -d ${D}/boot/${UBOOTPXE_CONFIG}/ + install -m 0644 pxeboot.pxe ${D}/boot/${UBOOTPXE_CONFIG}/default } FILES:${PN} = "/boot/*" @@ -275,10 +276,11 @@ FILES:${PN} = "/boot/*" do_deploy() { install -d ${DEPLOYDIR} install -m 0644 boot.scr ${DEPLOYDIR}/${UBOOTSCR_BASE_NAME}.scr - ln -sf ${UBOOTSCR_BASE_NAME}.scr ${DEPLOYDIR}/boot.scr + install -m 0644 boot.scr ${DEPLOYDIR}/ install -d ${DEPLOYDIR}/pxeboot/${UBOOTPXE_CONFIG_NAME} install -m 0644 pxeboot.pxe ${DEPLOYDIR}/pxeboot/${UBOOTPXE_CONFIG_NAME}/default - ln -sf pxeboot/${UBOOTPXE_CONFIG_NAME} ${DEPLOYDIR}/${UBOOTPXE_CONFIG} + install -d ${DEPLOYDIR}/${UBOOTPXE_CONFIG}/ + install -m 0644 pxeboot.pxe ${DEPLOYDIR}/${UBOOTPXE_CONFIG}/default } addtask do_deploy after do_compile before do_build -- cgit v1.2.3-54-g00ecf From 649019443aa939dd6a761e1dec26af32f83a4b72 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Sun, 24 Mar 2024 14:58:12 -0600 Subject: README.booting.storage.md: Update xen boot instructions Update xen boot instructions for storage boot medium. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- docs/README.booting.storage.md | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/docs/README.booting.storage.md b/docs/README.booting.storage.md index 2a1f66a7..d9689712 100644 --- a/docs/README.booting.storage.md +++ b/docs/README.booting.storage.md @@ -61,18 +61,36 @@ $ sudo lsblk /dev/mmcblk -o NAME,FSTYPE,LABEL,PARTLABEL $ sudo mount -L boot /mnt/boot; sudo mount -L root /mnt/rootfs` ``` 3. Copy the boot images to the SD card or eMMC device FAT32 partition. + +* Linux * boot.bin * boot.scr * Image or uImage (For Zynq7000 only) * system.dtb * rootfs.cpio.gz.u-boot (If using a ramdisk) -``` -$ cp ${DEPLOY_DIR_IMAGE}/boot.bin /mnt/boot/boot.bin -$ cp ${DEPLOY_DIR_IMAGE}/boot.scr /mnt/boot/boot.scr -$ cp ${DEPLOY_DIR_IMAGE}/Image /mnt/boot/Image -$ cp ${DEPLOY_DIR_IMAGE}/system.dtb /mnt/boot/system.dtb -$ cp ${DEPLOY_DIR_IMAGE}/-${MACHINE}-${DATETIME}.cpio.gz.u-boot /mnt/boot/rootfs.cpio.gz.u-boot -``` + ``` + $ cp ${DEPLOY_DIR_IMAGE}/boot.bin /mnt/boot/boot.bin + $ cp ${DEPLOY_DIR_IMAGE}/boot.scr /mnt/boot/boot.scr + $ cp ${DEPLOY_DIR_IMAGE}/Image /mnt/boot/Image + $ cp ${DEPLOY_DIR_IMAGE}/system.dtb /mnt/boot/system.dtb + $ cp ${DEPLOY_DIR_IMAGE}/-${MACHINE}-${DATETIME}.cpio.gz.u-boot /mnt/boot/rootfs.cpio.gz.u-boot + ``` +* Xen + * boot.bin + * boot.scr + * Image + * xen + * system.dtb + * rootfs.cpio.gz (If using a ramdisk) + ``` + $ cp ${DEPLOY_DIR_IMAGE}/boot.bin /mnt/boot/boot.bin + $ cp ${DEPLOY_DIR_IMAGE}/boot.scr /mnt/boot/boot.scr + $ cp ${DEPLOY_DIR_IMAGE}/Image /mnt/boot/Image + $ cp ${DEPLOY_DIR_IMAGE}/xen /mnt/boot/xen + $ cp ${DEPLOY_DIR_IMAGE}/system.dtb /mnt/boot/system.dtb + $ cp ${DEPLOY_DIR_IMAGE}/-${MACHINE}-${DATETIME}.cpio.gz /mnt/boot/rootfs.cpio.gz + ``` + 4. Extract `-${MACHINE}-${DATETIME}.rootfs.tar.gz` file content to the SD card or eMMC device EXT4 partition. ``` -- cgit v1.2.3-54-g00ecf From 3a8be46414f736269db4a6abb2b89f4a4e79640d Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Sun, 24 Mar 2024 14:58:13 -0600 Subject: README.booting.versal.md: Update xen jtag boot instructions Update xen jtag boot instruction using TFTP or XSDB tools. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- docs/README.booting.versal.md | 82 ++++++++++++++++++++++++++++++++++++------- 1 file changed, 69 insertions(+), 13 deletions(-) diff --git a/docs/README.booting.versal.md b/docs/README.booting.versal.md index ef817bf3..4f673689 100644 --- a/docs/README.booting.versal.md +++ b/docs/README.booting.versal.md @@ -57,6 +57,10 @@ Deploying the images can be done in two methods. #### Using devtool boot-jtag script +> **Note:** For Xen boot flow boot-jtag script doesn't include loading xen, kernel +> and root filesystem, This step needs to be done manually as mentioned in XSDB +> or TFTP method below. + 1. Run devtool command to generate the boot-jtag.tcl script. ``` $ devtool boot-jtag --help @@ -125,6 +129,8 @@ Load the images into the target DDR/PL DRR load address i.e., Below example uses base DDR address as 0x0 which matches in vivado address editor. +1. **Linux** + | Image Type | Base DDR Address | Image Offset | Load Address in DDR | |--------------------|------------------|--------------|---------------------| | Kernel | 0x0 | 0x200000 | 0x200000 | @@ -132,6 +138,15 @@ Below example uses base DDR address as 0x0 which matches in vivado address edito | Rootfs | 0x0 | 0x4000000 | 0x4000000 | | U-boot boot script | 0x0 | 0x20000000 | 0x20000000 | +2. **Xen** + +| Image Type | Base DDR Address | Image Offset | Load Address in DDR | +|--------------------|------------------|--------------|---------------------| +| Kernel | 0x0 | 0xE00000 | 0xE00000 | +| Device Tree | 0x0 | 0xC000000 | 0xc000000 | +| Rootfs | 0x0 | 0x02600000 | 0x02600000 | +| U-boot boot script | 0x0 | 0x20000000 | 0x20000000 | + > **Note:** > 1. `` refers to core-image-minimal or petalinux-image-minimal > 2. For pxeboot boot create a symlink for `-${MACHINE}-${DATETIME}.cpio.gz.u-boot` @@ -152,13 +167,23 @@ xsdb% stop ``` 2. Using the `dow` command to load the images into the target DDR/PL DDR load address. -``` -xsdb% dow -data ${DEPLOY_DIR_IMAGE}/Image 0x200000 -xsdb% dow -data ${DEPLOY_DIR_IMAGE}/system.dtb 0x1000 -xsdb% dow -data ${DEPLOY_DIR_IMAGE}/core-image-minimal-${MACHINE}.cpio.gz.u-boot 0x4000000 -xsdb% dow -data ${DEPLOY_DIR_IMAGE}/boot.scr 0x20000000 -xsdb% targets -set -nocase -filter {name =~ "*A72*#0"} -``` + + * Linux XSDB + ``` + xsdb% targets -set -nocase -filter {name =~ "*A72*#0"} + xsdb% dow -data ${DEPLOY_DIR_IMAGE}/Image 0x200000 + xsdb% dow -data ${DEPLOY_DIR_IMAGE}/system.dtb 0x1000 + xsdb% dow -data ${DEPLOY_DIR_IMAGE}/core-image-minimal-${MACHINE}.cpio.gz.u-boot 0x4000000 + xsdb% dow -data ${DEPLOY_DIR_IMAGE}/boot.scr 0x20000000 + ``` + * Xen XSDB + ``` + xsdb% targets -set -nocase -filter {name =~ "*A72*#0"} + xsdb% dow -data ${DEPLOY_DIR_IMAGE}/Image 0xE00000 + xsdb% dow -data ${DEPLOY_DIR_IMAGE}/system.dtb 0xc000000 + xsdb% dow -data ${DEPLOY_DIR_IMAGE}/core-image-minimal-${MACHINE}.cpio.gz 0x02600000 + xsdb% dow -data ${DEPLOY_DIR_IMAGE}/boot.scr 0x20000000 + ``` ###### Using TFTP @@ -170,13 +195,25 @@ Versal> set serverip Versal> set ipaddr ``` 3. Load the images to DDR address. -``` -U-Boot> tftpboot 0x200000 Image -U-Boot> tftpboot 0x1000 system.dtb -U-Boot> tftpboot 0x4000000 core-image-minimal-${MACHINE}.cpio.gz.u-boot -U-Boot> tftpboot 0x20000000 boot.scr -``` + * Linux TFTP + ``` + U-Boot> tftpboot 0x200000 Image + U-Boot> tftpboot 0x1000 system.dtb + U-Boot> tftpboot 0x4000000 core-image-minimal-${MACHINE}.cpio.gz.u-boot + U-Boot> tftpboot 0x20000000 boot.scr + ``` + + * Xen TFTP + ``` + U-Boot> tftpboot 0xE00000 Image + U-Boot> setenv kernel_size 0x$filesize + U-Boot> tftpboot 0xc000000 system.dtb + U-Boot> tftpboot 0x02600000 core-image-minimal-${MACHINE}.cpio.gz + U-Boot> setenv ramdisk_size 0x$filesize + U-Boot> tftpboot 0x20000000 boot.scr + ``` + ##### Booting Linux Once the images are loaded continue the execution. @@ -191,10 +228,29 @@ xsdb% con xsdb% exit ``` 3. In the target Serial Terminal, from U-Boot prompt run `boot` command. + +* Linux boot ``` U-Boot> boot ``` +* XEN JTAG boot + + * XSDB + > **Note:** You need to calculate the Kernel(kernel_size) and ramdisk(ramdisk_size) + > image size manually from `${DEPLOY_DIR_IMAGE}` directory. For example if your + > kernel size is 24269312 bytes you need to convert to hex 0x1725200 and use it. + ``` + U-Boot> setenv kernel_size + U-Boot> setenv ramdisk_size + U-Boot> boot + ``` + + * TFTP + ``` + U-Boot> boot + ``` + ## Booting from SD 1. Load the SD card into the VCK190 board in the J302 SD slot. -- cgit v1.2.3-54-g00ecf From 3a12cf3c927ac016b9dc288d441e68e504d74830 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Sun, 24 Mar 2024 14:58:14 -0600 Subject: README.booting.zynqmp.md: Update xen jtag boot instructions Update xen jtag boot instruction using TFTP or XSDB tools. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- docs/README.booting.zynqmp.md | 57 ++++++++++++++++++++++++++++++++++++++----- 1 file changed, 51 insertions(+), 6 deletions(-) diff --git a/docs/README.booting.zynqmp.md b/docs/README.booting.zynqmp.md index 80e6d5ae..3b73dbbb 100644 --- a/docs/README.booting.zynqmp.md +++ b/docs/README.booting.zynqmp.md @@ -54,6 +54,10 @@ Deploying the images can be done in two methods. #### Using devtool boot-jtag script +> **Note:** For Xen boot flow boot-jtag script doesn't include loading xen, kernel +> and root filesystem, This step needs to be done manually as mentioned in XSDB +> or TFTP method below. + 1. Run devtool command to generate the boot-jtag.tcl script. ``` $ devtool boot-jtag --help @@ -151,6 +155,8 @@ Load the images into the target DDR/PL DRR load address i.e., Below example uses base DDR address as 0x0 which matches in vivado address editor. +1. **Linux** + | Image Type | Base DDR Address | Image Offset | Load Address in DDR | |--------------------|------------------|--------------|---------------------| | Kernel | 0x0 | 0x200000 | 0x200000 | @@ -158,6 +164,15 @@ Below example uses base DDR address as 0x0 which matches in vivado address edito | Rootfs | 0x0 | 0x04000000 | 0x4000000 | | U-boot boot script | 0x0 | 0x20000000 | 0x20000000 | +2. **Xen** + +| Image Type | Base DDR Address | Image Offset | Load Address in DDR | +|--------------------|------------------|--------------|---------------------| +| Kernel | 0x0 | 0xE00000 | 0xE00000 | +| Device Tree | 0x0 | 0xC000000 | 0xc000000 | +| Rootfs | 0x0 | 0x02600000 | 0x02600000 | +| U-boot boot script | 0x0 | 0x20000000 | 0x20000000 | + > **Note:** > 1. `` refers to core-image-minimal or petalinux-image-minimal > 2. For pxeboot boot create a symlink for `-${MACHINE}-${DATETIME}.cpio.gz.u-boot` @@ -178,12 +193,23 @@ xsdb% stop ``` 2. Using the `dow` command to load the images into the target DDR/PL DDR load address. -``` -xsdb% dow -data ${DEPLOY_DIR_IMAGE}/Image 0x200000 -xsdb% dow -data ${DEPLOY_DIR_IMAGE}/system.dtb 0x100000 -xsdb% dow -data ${DEPLOY_DIR_IMAGE}/core-image-minimal-${MACHINE}.cpio.gz.u-boot 0x4000000 -xsdb% dow -data ${DEPLOY_DIR_IMAGE}/boot.scr 0x20000000 -``` + + * Linux XSDB + ``` + xsdb% targets -set -nocase -filter {name =~ "*A53*#0"} + xsdb% dow -data ${DEPLOY_DIR_IMAGE}/Image 0x200000 + xsdb% dow -data ${DEPLOY_DIR_IMAGE}/system.dtb 0x100000 + xsdb% dow -data ${DEPLOY_DIR_IMAGE}/core-image-minimal-${MACHINE}.cpio.gz.u-boot 0x4000000 + xsdb% dow -data ${DEPLOY_DIR_IMAGE}/boot.scr 0x20000000 + ``` + * Xen XSDB + ``` + xsdb% targets -set -nocase -filter {name =~ "*A53*#0"} + xsdb% dow -data ${DEPLOY_DIR_IMAGE}/Image 0xE00000 + xsdb% dow -data ${DEPLOY_DIR_IMAGE}/system.dtb 0xc000000 + xsdb% dow -data ${DEPLOY_DIR_IMAGE}/core-image-minimal-${MACHINE}.cpio.gz 0x02600000 + xsdb% dow -data ${DEPLOY_DIR_IMAGE}/boot.scr 0x20000000 + ``` ###### Using TFTP @@ -216,10 +242,29 @@ xsdb% con xsdb% exit ``` 3. In the target Serial Terminal, from U-Boot prompt run `boot` command. + +* Linux boot ``` U-Boot> boot ``` +* XEN JTAG boot + + * XSDB + > **Note:** You need to calculate the Kernel(kernel_size) and ramdisk(ramdisk_size) + > image size manually from `${DEPLOY_DIR_IMAGE}` directory. For example if your + > kernel size is 24269312 bytes you need to convert to hex 0x1725200 and use it. + ``` + U-Boot> setenv kernel_size + U-Boot> setenv ramdisk_size + U-Boot> boot + ``` + + * TFTP + ``` + U-Boot> boot + ``` + ## Booting from SD 1. Load the SD card into the ZCU102 board in the J100 SD slot. -- cgit v1.2.3-54-g00ecf From 2066656ffc4a95b34b2a71a50c9d125d8c5b2c55 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 28 Mar 2024 06:16:40 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_5339 ttcps: Add support for peripheral tests in SDT flow usbps: Fix failures reported by CV test suite "Chapter 9 Tests [USB 2 devices] CV tests" usbps: Update driver version mipicsiss: data: Update yaml file to support new MIPI RX PHY mipicsiss: src: Add support of mipi rx phy subcore sw_services:xilloader: Updated RSA KAT to use 2048-bit key sw_services: xilsecure: Fix RSA quiet mode issues and update KAT scugic: Add doxygen and editorial fixes --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 1a483e9f..ba7e7dc6 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -13,7 +13,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "e847e1935dca630615e5f7dc694365a44b89699c" -ESW_REV[2024.1] = "bd55a53c2e0bd9d27cd20a2660d14b0024aa8bb4" +ESW_REV[2024.1] = "2efccb1d8aafe5242ec87ec8f223784bbbbdcd08" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or 'INVALID'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From f2f14d3273f6a143f4a9b0a8e2fd346a7665b12d Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 28 Mar 2024 11:48:28 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_6395 mtd: spi-nor: Disable chip erase for S28HS02GT flash mtd: spi-nor: Set the ECC configuration to 1-bit error correction mtd: spi-nor: Added Fixup for S28HS02GT Infineon OSPI flash xilinx: Enable support for Infineon Octal flash arm64: zynqmp: Add bootcmd_usb4 variable --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index 08e625c2..bcc657cd 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2024.01" UBRANCH = "xlnx_rebase_v2024.01" -SRCREV = "c0dbd5ec673441d8d8de4ac03a3b92c9512bfd6e" +SRCREV = "954550c39e976ca1e9df3f11883f771755f1beb9" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From ac934887eb0b825fc9d536871aac5ff393eca190 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 28 Mar 2024 19:27:59 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_8275 dfeprach: Correct order of RACH mapping steps --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index ba7e7dc6..6a406b2d 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -13,7 +13,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "e847e1935dca630615e5f7dc694365a44b89699c" -ESW_REV[2024.1] = "2efccb1d8aafe5242ec87ec8f223784bbbbdcd08" +ESW_REV[2024.1] = "f66f953afcdcd13761e4c30a691134ca1fa989c9" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or 'INVALID'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 24d7b237cba002f8f059346e1a5c9257ff232333 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 28 Mar 2024 19:28:36 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_7095 arm64: dts: zynqmp: make hw-ecc as the default ecc mode xilinx: Do not call private env_get_location() when !ENV_IS_NOWHERE mtd: spi-nor: Disable chip erase for n25q512ax3 flash configs: zynqmp_kria: Deactivate CONFIG_SPI_FLASH_BAR arm64: zynqmp: Disable Tri-state for SDIO --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index bcc657cd..b919b230 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2024.01" UBRANCH = "xlnx_rebase_v2024.01" -SRCREV = "954550c39e976ca1e9df3f11883f771755f1beb9" +SRCREV = "12c2fe646e7e98ba98334c75e082cc10faf0413d" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From 47da11ecaad984d1a86882dddf9921f3f060b687 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 28 Mar 2024 20:45:56 +0530 Subject: linux-xlnx : Updated SRCREV for 2024.1_4975 v4l: xilinx: dprx: Replace irq_of_parse_and_map with platform_get_irq_byname v4l: xilinx: dprx: Fix incorrect reconfiguration of registers v4l: xilinx: dprx: Correct the XDPRX_DEVICE_SERVICE_IRQ_CP_IRQ_MASK macro value soc: xilinx: Fix event notification issue for SW event node drm: xlnx: hdcp: Remove unused variable srm_version xen/pci: Add xen_reset_device_state function net: phy: xilinx-gmii2rgmii: Adopt clock support dt-bindings: net: xilinx_gmii2rgmii: Add clock support --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index 019e9de9..8f65469a 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.6.10" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.6;destsuffix=yocto-kmeta" KBRANCH="xlnx_rebase_v6.6_LTS" -SRCREV = "562194b7c36184701c8774d1a07da07deeae374b" +SRCREV = "dcac89c7c78a556240e07ac3c6c568dd5be90ef3" SRCREV_meta = "5d0809d0d939c7738cb6e5391126c73fd0e4e865" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From 3fe3b225e776e0d777b1d55426e40f00c22dd0a4 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Tue, 26 Mar 2024 15:55:46 -0600 Subject: layer.conf: Fix openamp-layer dependency meta-xilinx-standalone-experimental failes to parse with below errors ERROR: No recipes in default available for: /scratch/sandeep/yocto/2024.1/yp-bc/sources/poky/../meta-xilinx/meta-xilinx-standalone-experimental/recipes-openamp/libmetal/libmetal-xlnx_%.bbappend /scratch/sandeep/yocto/2024.1/yp-bc/sources/poky/../meta-xilinx/meta-xilinx-standalone-experimental/recipes-openamp/open-amp/open-amp-xlnx_%.bbappend Hence add openamp-layer dependency to LAYERDEPENDS variable. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- meta-xilinx-standalone-experimental/conf/layer.conf | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta-xilinx-standalone-experimental/conf/layer.conf b/meta-xilinx-standalone-experimental/conf/layer.conf index c3e5cdca..2f74e49e 100644 --- a/meta-xilinx-standalone-experimental/conf/layer.conf +++ b/meta-xilinx-standalone-experimental/conf/layer.conf @@ -19,7 +19,8 @@ LAYERDEPENDS_xilinx-standalone-exp = "core \ xilinx \ xilinx-standalone \ xilinx-microblaze \ - virtualization-layer \ + virtualization-layer \ + openamp-layer \ " LAYERSERIES_COMPAT_xilinx-standalone-exp = "langdale" -- cgit v1.2.3-54-g00ecf From 67334659a2efc2b95ad6b8e9366b47199c2fe7b5 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Tue, 26 Mar 2024 15:55:47 -0600 Subject: README.md: Update README on openamp-layer dependency Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- meta-xilinx-standalone-experimental/README.md | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/meta-xilinx-standalone-experimental/README.md b/meta-xilinx-standalone-experimental/README.md index 1c80dc8f..950e4e12 100644 --- a/meta-xilinx-standalone-experimental/README.md +++ b/meta-xilinx-standalone-experimental/README.md @@ -162,7 +162,14 @@ This layer depends on: https://git.yoctoproject.org/meta-xilinx (official version) https://github.com/Xilinx/meta-xilinx (development and amd xilinx release) layers: meta-xilinx-core, meta-xilinx-bsp, meta-xilinx-standalone - branch: langdale or amd xilinx release version (e.g. rel-v2023.1) + branch: langdale or amd xilinx release version (e.g. rel-v2024.1) - URI: https://git.yoctoproject.org/meta-virtualization - branch: langdale + URI: + https://git.yoctoproject.org/meta-virtualization (official version) + https://github.com/Xilinx/meta-virtualization (development and amd xilinx release) + branch: langdale or amd xilinx release version (e.g. rel-v2024.1) + + URI: + https://github.com/OpenAMP/meta-openamp (official version) + https://github.com/Xilinx/meta-openamp (development and amd xilinx release) + branch: langdale or amd xilinx release version (e.g. rel-v2024.1) -- cgit v1.2.3-54-g00ecf From 2ea7450e2a43da56f0a03e977350e58434b390a9 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Tue, 26 Mar 2024 15:55:48 -0600 Subject: machine-xilinx-default.inc: Set default libmetal and openamp provider Building libmetal and openamp using poky core-image-minimal requires providers, Hence set default libmetal and openamp provider. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc b/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc index c732523c..1837da26 100644 --- a/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc +++ b/meta-xilinx-core/conf/machine/include/machine-xilinx-default.inc @@ -23,6 +23,10 @@ PREFERRED_PROVIDER_u-boot-tools ??= "u-boot-tools-xlnx" PREFERRED_PROVIDER_u-boot-tools-native ??= "u-boot-tools-xlnx-native" PREFERRED_PROVIDER_nativesdk-u-boot-tools ??= "nativesdk-u-boot-tools-xlnx" +# Libmetal and OpenAMP Configuration +PREFERRED_PROVIDER_libmetal ?= "libmetal-xlnx" +PREFERRED_PROVIDER_open-amp ?= "open-amp-xlnx" + do_image_wic[depends] += "${@' '.join('%s:do_deploy' % r for r in (d.getVar('WIC_DEPENDS') or "").split())}" UBOOT_SUFFIX ?= "bin" -- cgit v1.2.3-54-g00ecf From 8eec701f2b99c2a08b05893b7e9084ee8733c89d Mon Sep 17 00:00:00 2001 From: saumya garg Date: Tue, 26 Mar 2024 12:06:17 -0600 Subject: xrt, zocl: Update commit id MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Changelog: VITIS-9887: xrt support for multiple graph linking and compilation (#8030) VITIS-11100 Display all AIE columns (#8015) VITIS-11102 Remove device status from Ryzen report json (#8031) Providing build metadata to version file (#8028) initial trace updates for client (#7980) removed debug line (#8026) Only use the XDP Static DB methods supported for Client Flow in ML Timeline Plugin (#8025) adding new job notify-slack (#8019) Incorporate partition shifts and support ML metadata (#8021) Adjusting build number for TA to pick up the build (#8024) Add noshim to ishim. Next maybeshim? (#8023) Handle an error for aie_trace plugin on client (#8020) Update cmake to pick up HIP header files from Linux distribution area… (#8022) Update Aie Enums to be compatible with future changes (#7910) XRT support for independent AIE graph compilation and linking (#7999) Change Shell name for RAVE Platform (#8017) HIP tests for GPU and other build improvements (#8008) VITIS-11114 - Command, Event, kernel_start, and copy_buffer classes and Event API Implementation Part1 (#8007) VITIS-11369 Improve get xclbin name method (#7997) Hide symbols from xrt.h header (#7998) Added variable to store the actual buffer size in xobj (#8014) Adding os_ver in matrix (#8016) removed headers related to xcl apis from xdp code (#8009) patch fix for build number for windows (#8013) Modifying build number and fix SJ release intermittent issue (#8012) add xrt::elf raw elf data constructor (#7963) master pipeline for xrt in Gh actions (#8004) Do not move an r-value (#8003) Update license (#8001) Adjustments to identifying, handling, and reporting active core/memory modules in AIE profile & trace (#7990) Adjusting profiling API logging to account for recursive calls to monitored APIs (#8000) CR-1123282 - Use get_size sdr request to receive sensor (#7944) Update skd files to remove xcl apis (#7995) Replacing xcl Apis : xclDeviceInfo2 and xclGetSysfsPath (#7994) calculate correct global index for event tiles vector (#7991) Workaround to limit Aperture Size Limit as part of QDMA Queues for SOFT QDMA IP. (#7979) CR1178636: AIE Memory Read Throughputs are 0 (#7981) VITIS-11517 Remove ReportMemory from Ryzen in XRT (#7978) change buf size to decrease throughput (#7986) fix for IVT failure (#7989) Further cleanup of xcl apis for pcie build (#7988) VITIS-11114 - HIP API initial Implementation (#7951) Use xrt::ip to read registers for XDP PL Deadlock Diagnosis (#7984) Replace xclOpen/Close in XDP (#7985) Fix seg fault when device not available is provided (#7972) VITIS-9706: xrt support for adf event apis (#7926) VITIS-11418 Upgrade AIE partition report. (#7976) Fix TXT tests for Linux (#7982) libqdma: Updating QDMA to its latest commit (#7977) Initial implementation of Hip module and function apis (#7964) xclbinutil changes to support multiple aie.resources.bin (#7970) CRs 1191344 & 1190977 - Bug fixes for AIE profile/trace on Edge (#7974) Move metadata Reader to static database (#7949) Add an aie trace timestamp binary data format (#7966) build number is - ${{ github.run_number }}_${{ github.run_attempt }} (#7969) Fixing clock rate retrieval in case of zero (#7975) Delete .github/workflows/xrt-pr-comment-ci.yaml (#7973) CR-1191367 Use PCI revision ID and deivce ID to identify device (#7971) Clean up hip tests to please clang-tidy (#7965) VITIS-11112 HIP Binding: Memory Management (#7929) Seperated bar mapping from probe in the xbmgmt driver. (#7927) xbutil fix help menu (#7960) XRT build drops a kernel-doc directory in the PWD (#7935) add initial support for transforming PDIs in AIE_PARTITION (#7954) Use debug_ip_layout_path device query in place of xclGetDebugIPlayoutPath (#7962) Enable clang-tidy for hip tests (#7943) using branch for test summary instead of version (#7961) Updating trace clock for PL (#7959) CR-1190692 Add method to set read range on xrt::ip (#7957) CR-1187549 (#7956) Add support for debug buffer object in XRT for internal use (#7955) Signed-off-by: saumya garg Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-xrt/xrt/xrt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc index 89dc87cc..7c2e932c 100644 --- a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc @@ -3,7 +3,7 @@ BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != ' SRC_URI = "${REPO};${BRANCHARG};name=xrt" BRANCH= "master" -SRCREV_xrt = "8426f5733c01018acbd8d12745bc9e5ffc4535e6" +SRCREV_xrt = "f23d53edd42fea0f0acd08c194b4750ed77127e2" PV = "202320.2.17.0" SRC_URI += "git://github.com/Xilinx/dma_ip_drivers.git;branch=master;name=dma_ip_drivers;destsuffix=git/src/runtime_src/core/pcie/driver/linux/xocl/lib/libqdma;protocol=https" -- cgit v1.2.3-54-g00ecf From c5886e8470ce8fce01fd518369bccb7e3de860ba Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Tue, 26 Mar 2024 12:06:18 -0600 Subject: Revert "xrt: Disable AIE profiling and related" This reverts commit 1c8cb60444e8e5170a46ae8a5657e164f6657f37. Signed-off-by: Mark Hatle --- .../recipes-xrt/xrt/xrt/disable_aie_profiling.patch | 17 ----------------- meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb | 2 -- 2 files changed, 19 deletions(-) delete mode 100644 meta-xilinx-core/recipes-xrt/xrt/xrt/disable_aie_profiling.patch diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt/disable_aie_profiling.patch b/meta-xilinx-core/recipes-xrt/xrt/xrt/disable_aie_profiling.patch deleted file mode 100644 index f2f63470..00000000 --- a/meta-xilinx-core/recipes-xrt/xrt/xrt/disable_aie_profiling.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/src/runtime_src/xdp/profile/plugin/CMakeLists.txt b/src/runtime_src/xdp/profile/plugin/CMakeLists.txt -index 8ef7a2f..9b8baac 100644 ---- a/src/runtime_src/xdp/profile/plugin/CMakeLists.txt -+++ b/src/runtime_src/xdp/profile/plugin/CMakeLists.txt -@@ -33,9 +33,9 @@ if (NOT WIN32) - # ========================================================= - # The plugins to be built on Linux only - # ========================================================= --add_subdirectory(aie_status) --add_subdirectory(aie_profile) --add_subdirectory(aie_trace) -+#add_subdirectory(aie_status) -+#add_subdirectory(aie_profile) -+#add_subdirectory(aie_trace) - add_subdirectory(device_offload/hw_emu) - add_subdirectory(noc) - add_subdirectory(power) diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb b/meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb index bd6f3796..48454538 100644 --- a/meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb @@ -3,8 +3,6 @@ DESCRIPTION = "Xilinx Runtime User Space Libraries and headers" require xrt.inc -SRC_URI += "file://disable_aie_profiling.patch;striplevel=2" - LICENSE = "GPL-2.0-or-later & Apache-2.0 & MIT" LIC_FILES_CHKSUM = "file://../LICENSE;md5=de2c993ac479f02575bcbfb14ef9b485 \ file://runtime_src/core/edge/drm/zocl/LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8 \ -- cgit v1.2.3-54-g00ecf From 4c33e04ce9d3ea075c0012747fe8658d21c95109 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Thu, 28 Mar 2024 12:33:41 -0600 Subject: README.booting.versal.md: Add missing xen jtag boot steps 1. Add missing xen jtag boot steps. 2. Add info on how to calculate Versal xen image offset for JTAG boot. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- docs/README.booting.versal.md | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/docs/README.booting.versal.md b/docs/README.booting.versal.md index 4f673689..25738784 100644 --- a/docs/README.booting.versal.md +++ b/docs/README.booting.versal.md @@ -133,20 +133,27 @@ Below example uses base DDR address as 0x0 which matches in vivado address edito | Image Type | Base DDR Address | Image Offset | Load Address in DDR | |--------------------|------------------|--------------|---------------------| -| Kernel | 0x0 | 0x200000 | 0x200000 | -| Device Tree | 0x0 | 0x1000 | 0x1000 | +| Linux Kernel | 0x0 | 0x200000 | 0x200000 | +| Device Tree Blob | 0x0 | 0x1000 | 0x1000 | | Rootfs | 0x0 | 0x4000000 | 0x4000000 | | U-boot boot script | 0x0 | 0x20000000 | 0x20000000 | 2. **Xen** +> **Note:** Xen, Rootfs and Device Tree image offset is calculated as shown below. +> * `Xen Rootfs = Base DDR Address + Linux Kernel Image Offset(0xE00000) + Size of Linux Kernel Image` +> * `Xen Kernel = Base DDR Address + Xen Rootfs Image Offset (Ex: 0x2600000) + Size of Xen Rootfs` +> * `Device Tree Blob = Base DDR Address + Xen Kernel Image Offset (Ex: 0xBA00000) + Size of Device Tree Blob` + | Image Type | Base DDR Address | Image Offset | Load Address in DDR | |--------------------|------------------|--------------|---------------------| -| Kernel | 0x0 | 0xE00000 | 0xE00000 | -| Device Tree | 0x0 | 0xC000000 | 0xc000000 | -| Rootfs | 0x0 | 0x02600000 | 0x02600000 | +| Linux Kernel | 0x0 | 0xE00000 | 0xE00000 | +| Xen Rootfs | 0x0 | 0x2600000 | 0x2600000 | +| Xen Kernel | 0x0 | 0xBA00000 | 0xBA00000 | +| Device Tree Blob | 0x0 | 0xC000000 | 0xC000000 | | U-boot boot script | 0x0 | 0x20000000 | 0x20000000 | + > **Note:** > 1. `` refers to core-image-minimal or petalinux-image-minimal > 2. For pxeboot boot create a symlink for `-${MACHINE}-${DATETIME}.cpio.gz.u-boot` @@ -176,12 +183,14 @@ xsdb% stop xsdb% dow -data ${DEPLOY_DIR_IMAGE}/core-image-minimal-${MACHINE}.cpio.gz.u-boot 0x4000000 xsdb% dow -data ${DEPLOY_DIR_IMAGE}/boot.scr 0x20000000 ``` + * Xen XSDB ``` xsdb% targets -set -nocase -filter {name =~ "*A72*#0"} xsdb% dow -data ${DEPLOY_DIR_IMAGE}/Image 0xE00000 - xsdb% dow -data ${DEPLOY_DIR_IMAGE}/system.dtb 0xc000000 - xsdb% dow -data ${DEPLOY_DIR_IMAGE}/core-image-minimal-${MACHINE}.cpio.gz 0x02600000 + xsdb% dow -data ${DEPLOY_DIR_IMAGE}/core-image-minimal-${MACHINE}.cpio.gz 0x2600000 + xsdb% dow -data ${DEPLOY_DIR_IMAGE}/xen 0xBA00000 + xsdb% dow -data ${DEPLOY_DIR_IMAGE}/system.dtb 0xC000000 xsdb% dow -data ${DEPLOY_DIR_IMAGE}/boot.scr 0x20000000 ``` @@ -208,9 +217,10 @@ Versal> set ipaddr ``` U-Boot> tftpboot 0xE00000 Image U-Boot> setenv kernel_size 0x$filesize - U-Boot> tftpboot 0xc000000 system.dtb - U-Boot> tftpboot 0x02600000 core-image-minimal-${MACHINE}.cpio.gz + U-Boot> tftpboot 0x2600000 core-image-minimal-${MACHINE}.cpio.gz U-Boot> setenv ramdisk_size 0x$filesize + U-Boot> tftpboot 0xBA00000 xen + U-Boot> tftpboot 0xC000000 system.dtb U-Boot> tftpboot 0x20000000 boot.scr ``` -- cgit v1.2.3-54-g00ecf From 5cdfefedec4f0ffba024489e13c9034dd5814da6 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Thu, 28 Mar 2024 12:33:42 -0600 Subject: README.booting.zynqmp.md: Add missing xen jtag boot steps 1. Add missing xen jtag boot steps. 2. Add info on how to calculate zynqmp xen image offset for JTAG boot. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- docs/README.booting.zynqmp.md | 52 +++++++++++++++++++++++++++++++------------ 1 file changed, 38 insertions(+), 14 deletions(-) diff --git a/docs/README.booting.zynqmp.md b/docs/README.booting.zynqmp.md index 3b73dbbb..44e6f2b7 100644 --- a/docs/README.booting.zynqmp.md +++ b/docs/README.booting.zynqmp.md @@ -132,7 +132,10 @@ xsdb% rst -processor -clear-registers xsdb% dow ${DEPLOY_DIR_IMAGE}/zynqmp_fsbl.elf xsdb% con ``` -7. Now download TF-A, U-boot.elf and Device tree to APU and execute. +7. Now download TF-A, U-boot.elf and Device tree blob to APU and execute. + +> **Note:** For Xen boot system.dtb load address will vary, see below table. + ``` xsdb% stop xsdb% dow ${DEPLOY_DIR_IMAGE}/bl31.elf @@ -159,18 +162,24 @@ Below example uses base DDR address as 0x0 which matches in vivado address edito | Image Type | Base DDR Address | Image Offset | Load Address in DDR | |--------------------|------------------|--------------|---------------------| -| Kernel | 0x0 | 0x200000 | 0x200000 | -| Device Tree | 0x0 | 0x1000 | 0x1000 | +| Linux Kernel | 0x0 | 0x200000 | 0x200000 | +| Device Tree Blob | 0x0 | 0x100000 | 0x100000 | | Rootfs | 0x0 | 0x04000000 | 0x4000000 | | U-boot boot script | 0x0 | 0x20000000 | 0x20000000 | 2. **Xen** +> **Note:** Xen, Rootfs and Device Tree image offset is calculated as shown below. +> * `Xen Rootfs = Base DDR Address + Linux Kernel Image Offset(0xE00000) + Size of Linux Kernel Image` +> * `Xen Kernel = Base DDR Address + Xen Rootfs Image Offset (Ex: 0x2600000) + Size of Xen Rootfs` +> * `Device Tree Blob = Base DDR Address + Xen Kernel Image Offset (Ex: 0xBA00000) + Size of Device Tree Blob` + | Image Type | Base DDR Address | Image Offset | Load Address in DDR | |--------------------|------------------|--------------|---------------------| -| Kernel | 0x0 | 0xE00000 | 0xE00000 | -| Device Tree | 0x0 | 0xC000000 | 0xc000000 | -| Rootfs | 0x0 | 0x02600000 | 0x02600000 | +| Linux Kernel | 0x0 | 0xE00000 | 0xE00000 | +| Xen Rootfs | 0x0 | 0x2600000 | 0x2600000 | +| Xen Kernel | 0x0 | 0xBA00000 | 0xBA00000 | +| Device Tree Blob | 0x0 | 0xC000000 | 0xC000000 | | U-boot boot script | 0x0 | 0x20000000 | 0x20000000 | > **Note:** @@ -202,12 +211,14 @@ xsdb% stop xsdb% dow -data ${DEPLOY_DIR_IMAGE}/core-image-minimal-${MACHINE}.cpio.gz.u-boot 0x4000000 xsdb% dow -data ${DEPLOY_DIR_IMAGE}/boot.scr 0x20000000 ``` + * Xen XSDB ``` xsdb% targets -set -nocase -filter {name =~ "*A53*#0"} xsdb% dow -data ${DEPLOY_DIR_IMAGE}/Image 0xE00000 - xsdb% dow -data ${DEPLOY_DIR_IMAGE}/system.dtb 0xc000000 - xsdb% dow -data ${DEPLOY_DIR_IMAGE}/core-image-minimal-${MACHINE}.cpio.gz 0x02600000 + xsdb% dow -data ${DEPLOY_DIR_IMAGE}/core-image-minimal-${MACHINE}.cpio.gz 0x2600000 + xsdb% dow -data ${DEPLOY_DIR_IMAGE}/xen 0xBA00000 + xsdb% dow -data ${DEPLOY_DIR_IMAGE}/system.dtb 0xC000000 xsdb% dow -data ${DEPLOY_DIR_IMAGE}/boot.scr 0x20000000 ``` @@ -221,13 +232,26 @@ ZynqMP> set serverip ZynqMP> set ipaddr ``` 3. Load the images to DDR address. -``` -U-Boot> tftpboot 0x200000 Image -U-Boot> tftpboot 0x100000 system.dtb -U-Boot> tftpboot 0x4000000 core-image-minimal-${MACHINE}.cpio.gz.u-boot -U-Boot> tftpboot 0x20000000 boot.scr -``` + * Linux TFTP + ``` + U-Boot> tftpboot 0x200000 Image + U-Boot> tftpboot 0x100000 system.dtb + U-Boot> tftpboot 0x4000000 core-image-minimal-${MACHINE}.cpio.gz.u-boot + U-Boot> tftpboot 0x20000000 boot.scr + ``` + + * Xen TFTP + ``` + U-Boot> tftpboot 0xE00000 Image + U-Boot> setenv kernel_size 0x$filesize + U-Boot> tftpboot 0x2600000 core-image-minimal-${MACHINE}.cpio.gz + U-Boot> setenv ramdisk_size 0x$filesize + U-Boot> tftpboot 0xBA00000 xen + U-Boot> tftpboot 0xC000000 system.dtb + U-Boot> tftpboot 0x20000000 boot.scr + ``` + ##### Booting Linux Once the images are loaded continue the execution. -- cgit v1.2.3-54-g00ecf From 852c2d9bbbae143288bdb9e724d451bef6811065 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Thu, 28 Mar 2024 12:33:43 -0600 Subject: README.md: Add Xen INITRD image creation steps Add Xen INITRD image creation steps for JTAG or SD INITRD boot modes. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- meta-xilinx-virtualization/README.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/meta-xilinx-virtualization/README.md b/meta-xilinx-virtualization/README.md index ad6d4ada..5b66ea38 100644 --- a/meta-xilinx-virtualization/README.md +++ b/meta-xilinx-virtualization/README.md @@ -36,6 +36,17 @@ ENABLE_XEN_UBOOT_SCR = "1" ENABLE_XEN_DTSI = "1" ENABLE_XEN_QEMU_DTSI = "1" +# Default Xen Serial Console is serial0, if you are using serial1 then set as show below. +XEN_SERIAL_CONSOLES = "serial1" + +# Variables for Xen JTAG or SD INITRD boot modes but this is not required for SD WIC image. +IMAGE_FSTYPES += "cpio.gz" +RAMDISK_IMAGE = "rootfs.cpio.gz" + +# Variables for Xen SD WIC image boot flow. +IMAGE_FSTYPES += "wic" +WKS_FILES = "xilinx-default-sd.wks" + DISTRO_FEATURES:append = " multiarch security tpm virtualization vmsep xen" IMAGE_FEATURES += "ssh-server-openssh" -- cgit v1.2.3-54-g00ecf From ec2ce0aa79c478a41c88a9b48fb3cdc74229565a Mon Sep 17 00:00:00 2001 From: Varalaxmi Bingi Date: Thu, 28 Mar 2024 17:56:33 +0530 Subject: u-boot-xlnx-2023.2.inc: space is missing for SRC_URI:append when user changes any config in u-boot menu config then we are saving that in user-.cfg. While adding that user*.cfg to SRC_URI space is missing and it was treated as different file and getting compilation issue. The space missed in below line meta-xilinx/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc#L19. Signed-off-by: Varalaxmi Bingi Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc index fba6fd22..2e761ebe 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.2.inc @@ -16,7 +16,7 @@ HAS_PLATFORM_INIT ?= " \ DEPENDS += "bc-native dtc-native python3-setuptools-native gnutls-native" -SRC_URI:append:microblaze = "file://microblaze-generic-top.h" +SRC_URI:append:microblaze = " file://microblaze-generic-top.h" do_configure:prepend:microblaze () { install ${WORKDIR}/microblaze-generic-top.h ${S}/include/configs/ -- cgit v1.2.3-54-g00ecf From d5a631b69caaaa296b0c308b2e3ab32c9b387422 Mon Sep 17 00:00:00 2001 From: Ben Levinsky Date: Thu, 28 Mar 2024 08:49:15 -0700 Subject: lopper: srcrev update d67410d openamp: xlnx: Update model parsing 9e880fa openamp: xlnx: remove a2197 e4b6f3b lopper: assists: gen_domain_dts: Update symbol node entry for gic_its node 5069563 base/phandle: add resets and assigned-clocks 4d61969 lopper: assists: gen_domain_dts: Add option to keep TCM nodes 5666b57 lopper: assists: baremetal_validate_comp_xlnx: Update the assist to handle use cases where dev_type is missing in the driver yaml 88f9171 lopper: assists: baremetal_validate_comp_xlnx: Update mem_type check for microblaze_riscv fa2aab9 lopper: assists: baremetal_xparameters_xlnx: Generate reg and interrupt defines for all possible ranges Signed-off-by: Ben Levinsky Signed-off-by: Mark Hatle --- .../virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend index 62a3b0f2..6e31d1f0 100644 --- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend @@ -1,5 +1,5 @@ SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=v0.2024.x;protocol=https" -SRCREV = "a85a86eba10c7cd0f8aa4c99aa647ae8bdd72d70" +SRCREV = "9e880fa8bad815f01ca8ec4a3e141e5386f012fd" FILESEXTRAPATHS:prepend := "${THISDIR}/lopper:" -- cgit v1.2.3-54-g00ecf From 2beb71900d0f04dfdaa81e576bea50f43c1fb636 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 1 Apr 2024 19:21:58 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_2467 sw_apps: zynqmp_pmufw: Add ipipsu driver dependency in metadata file sw_apps: versal_psmfw: Add ipipsu driver dependency in metadata file sw_services: xilpm: Add ipipsu driver dependency in metadata file tmrctr: Update examples to complete execution within 1 seconds scripts: pyesw: create_bsp: Update the top-level CMake file to include the bsp include folder scripts: pyesw: Generate preprocessed file always inside domain directory emacps: Fix the mask for XEmacPs_BdGetBufAddr --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 6a406b2d..17e26446 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -13,7 +13,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "e847e1935dca630615e5f7dc694365a44b89699c" -ESW_REV[2024.1] = "f66f953afcdcd13761e4c30a691134ca1fa989c9" +ESW_REV[2024.1] = "827c36863db8e94c1b46e1f40fbc636467913589" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or 'INVALID'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From f4a0582919c0fead055615e63283b9f2df80bf95 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Fri, 29 Mar 2024 13:23:12 -0600 Subject: microblaze: binutils: Fix objdump/disassembly Signed-off-by: Mark Hatle --- .../binutils/binutils-microblaze.inc | 2 ++ .../0035-Fix-for-objdump-issue-for-mb32-el.patch | 37 ++++++++++++++++++++++ ...0036-Fix-for-missing-instructions-in-dump.patch | 34 ++++++++++++++++++++ 3 files changed, 73 insertions(+) create mode 100644 meta-microblaze/recipes-devtools/binutils/binutils/0035-Fix-for-objdump-issue-for-mb32-el.patch create mode 100644 meta-microblaze/recipes-devtools/binutils/binutils/0036-Fix-for-missing-instructions-in-dump.patch diff --git a/meta-microblaze/recipes-devtools/binutils/binutils-microblaze.inc b/meta-microblaze/recipes-devtools/binutils/binutils-microblaze.inc index 5e85eedc..191d69ef 100644 --- a/meta-microblaze/recipes-devtools/binutils/binutils-microblaze.inc +++ b/meta-microblaze/recipes-devtools/binutils/binutils-microblaze.inc @@ -35,6 +35,8 @@ SRC_URI:append = " \ file://0032-Patch-MicroBlaze-Double-free-with-ld-no-keep-memory.patch \ file://0033-Patch-MB-MB-binutils-Upstream-port-issues.patch \ file://0034-Patch-MicroBlaze-By-default-the-linker-will-generate.patch \ + file://0035-Fix-for-objdump-issue-for-mb32-el.patch \ + file://0036-Fix-for-missing-instructions-in-dump.patch \ " LDGOLD_ALTS:microblaze = "" diff --git a/meta-microblaze/recipes-devtools/binutils/binutils/0035-Fix-for-objdump-issue-for-mb32-el.patch b/meta-microblaze/recipes-devtools/binutils/binutils/0035-Fix-for-objdump-issue-for-mb32-el.patch new file mode 100644 index 00000000..b63d368a --- /dev/null +++ b/meta-microblaze/recipes-devtools/binutils/binutils/0035-Fix-for-objdump-issue-for-mb32-el.patch @@ -0,0 +1,37 @@ +From f070f81107d4b1e497207c1668f079dabb0b4417 Mon Sep 17 00:00:00 2001 +From: Aayush Misra +Date: Mon, 24 Jul 2023 21:49:14 +0530 +Subject: [PATCH 35/36] Fix for objdump issue for mb32-el + +--- + opcodes/microblaze-dis.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/opcodes/microblaze-dis.c b/opcodes/microblaze-dis.c +index b76a5935a34..237a6081377 100644 +--- a/opcodes/microblaze-dis.c ++++ b/opcodes/microblaze-dis.c +@@ -36,7 +36,7 @@ + #define get_int_field_imml(instr) ((instr & IMML_MASK) >> IMM_LOW) + #define get_int_field_r1(instr) ((instr & RA_MASK) >> RA_LOW) + +-#define NUM_STRBUFS 3 ++#define NUM_STRBUFS 4 + #define STRBUF_SIZE 25 + + struct string_buf +@@ -466,8 +466,9 @@ print_insn_microblaze (bfd_vma memaddr, struct disassemble_info * info) + case INST_TYPE_NONE: + break; + case INST_TYPE_RD_IMML: +- print_func (stream, "\t%s, %s", get_field_rd (&buf, inst), get_field_imm16 (&buf, inst)); +- break; ++ if(info->insn_type != dis_noninsn) ++ print_func (stream, "\t%s, %s", get_field_rd (&buf, inst), get_field_imm16 (&buf, inst)); ++ break; + /* For bit field insns. */ + case INST_TYPE_RD_R1_IMMW_IMMS: + print_func (stream, "\t%s, %s, %s, %s", get_field_rd (&buf, inst),get_field_r1(&buf, inst),get_field_immw (&buf, inst), get_field_imms (&buf, inst)); +-- +2.34.1 + diff --git a/meta-microblaze/recipes-devtools/binutils/binutils/0036-Fix-for-missing-instructions-in-dump.patch b/meta-microblaze/recipes-devtools/binutils/binutils/0036-Fix-for-missing-instructions-in-dump.patch new file mode 100644 index 00000000..e48dfe84 --- /dev/null +++ b/meta-microblaze/recipes-devtools/binutils/binutils/0036-Fix-for-missing-instructions-in-dump.patch @@ -0,0 +1,34 @@ +From 834cc7ca420d3fb783fb813b336e76960eb5b28e Mon Sep 17 00:00:00 2001 +From: Aayush Misra +Date: Thu, 28 Mar 2024 16:33:40 +0530 +Subject: [PATCH 36/36] Fix for missing instructions in dump + +--- + opcodes/microblaze-dis.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/opcodes/microblaze-dis.c b/opcodes/microblaze-dis.c +index 237a6081377..a83e00e282b 100644 +--- a/opcodes/microblaze-dis.c ++++ b/opcodes/microblaze-dis.c +@@ -266,7 +266,7 @@ print_insn_microblaze (bfd_vma memaddr, struct disassemble_info * info) + + inst = read_insn_microblaze (memaddr, info, &op); + if (inst == 0) +- return -1; ++ return 4; + + if (prev_insn_vma == curr_insn_vma) + { +@@ -274,7 +274,7 @@ print_insn_microblaze (bfd_vma memaddr, struct disassemble_info * info) + { + prev_inst = read_insn_microblaze (prev_insn_addr, info, &pop); + if (prev_inst == 0) +- return -1; ++ return 4; + if (pop->instr == imm) + { + immval = (get_int_field_imm (prev_inst) << 16) & 0xffff0000; +-- +2.34.1 + -- cgit v1.2.3-54-g00ecf From 9fc4fc9e03f25ddcc60629b83db7c5b855046229 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Fri, 29 Mar 2024 13:23:43 -0600 Subject: microblaze: gdb: Fix crash on startup Signed-off-by: Mark Hatle --- .../recipes-devtools/gdb/gdb-microblaze.inc | 1 + ...b-gdserver-Fix-ABI-settings-for-gdbserver.patch | 33 ++++++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 meta-microblaze/recipes-devtools/gdb/gdb/0009-gdb-gdserver-Fix-ABI-settings-for-gdbserver.patch diff --git a/meta-microblaze/recipes-devtools/gdb/gdb-microblaze.inc b/meta-microblaze/recipes-devtools/gdb/gdb-microblaze.inc index 5eae0577..d3618229 100644 --- a/meta-microblaze/recipes-devtools/gdb/gdb-microblaze.inc +++ b/meta-microblaze/recipes-devtools/gdb/gdb-microblaze.inc @@ -13,4 +13,5 @@ SRC_URI:append:microblaze = " \ file://0006-Patch-MicroBlaze-these-changes-will-make-64-bit-vect.patch \ file://0007-Patch-MicroBlaze-Added-m64-abi-for-64-bit-target-des.patch \ file://0008-Patch-MicroBlaze.patch \ + file://0009-gdb-gdserver-Fix-ABI-settings-for-gdbserver.patch \ " diff --git a/meta-microblaze/recipes-devtools/gdb/gdb/0009-gdb-gdserver-Fix-ABI-settings-for-gdbserver.patch b/meta-microblaze/recipes-devtools/gdb/gdb/0009-gdb-gdserver-Fix-ABI-settings-for-gdbserver.patch new file mode 100644 index 00000000..93f67800 --- /dev/null +++ b/meta-microblaze/recipes-devtools/gdb/gdb/0009-gdb-gdserver-Fix-ABI-settings-for-gdbserver.patch @@ -0,0 +1,33 @@ +From 53b76bb548720367032a51a6d604c975b10bb30e Mon Sep 17 00:00:00 2001 +From: Aayush Misra +Date: Fri, 29 Mar 2024 14:59:16 +0530 +Subject: [PATCH] gdb/gdserver: Fix ABI settings for gdbserver + +--- + gdb/microblaze-tdep.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/gdb/microblaze-tdep.c b/gdb/microblaze-tdep.c +index 38ba38e8c7d..35cec286d8f 100644 +--- a/gdb/microblaze-tdep.c ++++ b/gdb/microblaze-tdep.c +@@ -1120,12 +1120,13 @@ void _initialize_microblaze_tdep (); + void + _initialize_microblaze_tdep () + { ++ //Setting abi to auto manually, should be able to modify in 'arch'_gdbarch_init function ++ microblaze_abi_string = microblaze_abi_strings[0]; ++ + register_gdbarch_init (bfd_arch_microblaze, microblaze_gdbarch_init); +-// static struct cmd_list_element *setmicroblazecmdlist = NULL; +-// static struct cmd_list_element *showmicroblazecmdlist = NULL; + +- /* Add root prefix command for all "set microblaze"/"show microblaze" commands. */ + ++ /* Add root prefix command for all "set microblaze"/"show microblaze" commands. */ + add_setshow_prefix_cmd ("microblaze", no_class, + _("Various microblaze specific commands."), + _("Various microblaze specific commands."), +-- +2.34.1 + -- cgit v1.2.3-54-g00ecf From 49fd83f73c5a2b4e01b0b84ad3f45645b04a0e90 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 2 Apr 2024 12:33:34 -1200 Subject: xen : Updated SRCREV for 2024.1_1391 OpenAMP passthrough to a domU --- meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx_4.18.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx_4.18.inc b/meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx_4.18.inc index 6e920348..a3d90596 100644 --- a/meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx_4.18.inc +++ b/meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx_4.18.inc @@ -1,4 +1,4 @@ -SRCREV = "dbf966453f3f1f06bc8b7f59a5dc3adabdc8f89f" +SRCREV = "a4754372819eb69acb658fc013ad35c4d55bf9a5" XEN_URI = "git://github.com/Xilinx/xen.git;protocol=https" XEN_BRANCH = "xlnx_rebase_4.18" -- cgit v1.2.3-54-g00ecf From 09c83969db898f9833a6187da0e789f7587c50f8 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 3 Apr 2024 16:14:28 +0530 Subject: aie-rt : Updated SRCREV for 2024.1_8819 driver: src: Remove old resource manager code fal: src: rsc: Fix broadcast all bug for Linux backend fal: src: rsc: Add error logs for all resource types --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index 0541a7a3..d6ca7942 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "main-aie" -SRCREV ?= "5621d74d5efa99fdddd9eca47de3294804c62c24" +SRCREV ?= "79a3171f7748b4cea2742495c22133f359b35cb5" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From 00cb2c2d0d355c38a9a2a2184e9eb0cfbf689a3e Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 3 Apr 2024 18:09:35 +0530 Subject: open-amp : Updated SRCREV for 2024.1_8471 apps: zynqmp_r5: zynqmp: Add default values in case they are missing in BSP --- .../openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb index 01df6033..b19531d8 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb @@ -1,5 +1,5 @@ SRCBRANCH ?= "2024" -SRCREV = "f4a7bc0fca5b14bb8fd185918614bcc78ce93028" +SRCREV = "7d39410ad2172be9f339c4ce565ed765ddd8c5c8" BRANCH = "2024" LIC_FILES_CHKSUM ?= "file://LICENSE.md;md5=ab88daf995c0bd0071c2e1e55f3d3505" PV = "${SRCBRANCH}+git${SRCPV}" -- cgit v1.2.3-54-g00ecf From 3b01ab9db664a65f9b065dbb3f9fc55bbf19a8d7 Mon Sep 17 00:00:00 2001 From: Gregory Williams Date: Mon, 1 Apr 2024 11:48:37 -0700 Subject: meta-xilinx-core: ai-engine: Add new FAL Linux compile flag FAL now has a compile switch when compiling for Linux platforms, this change will enable this flag when compiling FAL examples. Signed-off-by: Gregory Williams Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.6.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.6.bb b/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.6.bb index 6ac86a1b..e219e480 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.6.bb +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.6.bb @@ -23,7 +23,7 @@ DEPENDS = "libxaiengine" OECMAKE_SOURCEPATH = "${S}/${XAIEFAL_DIR}" -EXTRA_OECMAKE = "-DWITH_TESTS=OFF " +EXTRA_OECMAKE = "-DWITH_TESTS=OFF -DFAL_LINUX=ON " EXTRA_OECMAKE:append = "${@'-DWITH_EXAMPLES=ON' if d.getVar('WITH_EXAMPLES') == 'y' else '-DWITH_EXAMPLES=OFF'}" FILES:${PN}-demos = " \ -- cgit v1.2.3-54-g00ecf From 3b79a719d0e199380eb3756d22fd438f4e26b24e Mon Sep 17 00:00:00 2001 From: Ben Levinsky Date: Tue, 2 Apr 2024 04:43:23 -0700 Subject: lopper: srcrev update missing one commit form latest d67410d openamp: xlnx: Update model parsing Signed-off-by: Ben Levinsky Signed-off-by: Mark Hatle --- .../virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend index 6e31d1f0..4a7085bc 100644 --- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend @@ -1,5 +1,5 @@ SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=v0.2024.x;protocol=https" -SRCREV = "9e880fa8bad815f01ca8ec4a3e141e5386f012fd" +SRCREV = "d67410d3b39847fb508f5a17e504a3242b2b33c1" FILESEXTRAPATHS:prepend := "${THISDIR}/lopper:" -- cgit v1.2.3-54-g00ecf From d59a688a54f219c3b5725a24375e3a39f5088ef7 Mon Sep 17 00:00:00 2001 From: John Toomey Date: Wed, 3 Apr 2024 15:36:31 +0100 Subject: xilinx-bootbin: Add optional data section to BIF Add optional data section to BIF file generation code to be used with version or other information Signed-off-by: John Toomey Signed-off-by: Mark Hatle (cherry picked from commit cdeb46c57358e579be9f1c1be95a544fd0e713e4) Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-bsp/bootbin/machine-xilinx-versal.inc | 3 +++ meta-xilinx-core/recipes-bsp/bootbin/xilinx-bootbin_1.0.bb | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/meta-xilinx-core/recipes-bsp/bootbin/machine-xilinx-versal.inc b/meta-xilinx-core/recipes-bsp/bootbin/machine-xilinx-versal.inc index fff2c7a3..cd6adcef 100644 --- a/meta-xilinx-core/recipes-bsp/bootbin/machine-xilinx-versal.inc +++ b/meta-xilinx-core/recipes-bsp/bootbin/machine-xilinx-versal.inc @@ -4,6 +4,9 @@ BOOTGEN_EXTRA_ARGS += "-dump bh" # specify BIF common attribute for FSBL BIF_COMMON_ATTR ?= "" +# specify BIF optional attributes +BIF_OPTIONAL_DATA ?= "" + #specify BIF partition attributes required for BOOT.bin BIF_FSBL_ATTR ??= "base-pdi plmfw psmfw" BIF_ATF_ATTR ??= "arm-trusted-firmware" diff --git a/meta-xilinx-core/recipes-bsp/bootbin/xilinx-bootbin_1.0.bb b/meta-xilinx-core/recipes-bsp/bootbin/xilinx-bootbin_1.0.bb index 4c8bfa0e..e0e1e506 100644 --- a/meta-xilinx-core/recipes-bsp/bootbin/xilinx-bootbin_1.0.bb +++ b/meta-xilinx-core/recipes-bsp/bootbin/xilinx-bootbin_1.0.bb @@ -125,6 +125,10 @@ python do_configure() { biffd.write("the_ROM_image:\n") biffd.write("{\n") + if d.getVar("BIF_OPTIONAL_DATA"): + opt_data = d.getVar("BIF_OPTIONAL_DATA") or "" + biffd.write("\toptionaldata { %s }\n" % opt_data) + arch = d.getVar("SOC_FAMILY") bifattr = (d.getVar("BIF_COMMON_ATTR") or "").split() if bifattr: -- cgit v1.2.3-54-g00ecf From d52eb2c02f0f69b927066f70c30010374fdb7d0b Mon Sep 17 00:00:00 2001 From: John Toomey Date: Wed, 3 Apr 2024 15:36:32 +0100 Subject: bootbin-version-string: Add text version file Add a version header file in plain text format required for Versal machines using the optional data field in the BIF file for version information Signed-off-by: John Toomey Signed-off-by: Mark Hatle (cherry picked from commit c6ae24ee38a69e4bcd463337aed43276d70845df) Signed-off-by: Mark Hatle --- .../recipes-bsp/bootbin/bootbin-version-string.bb | 32 ++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 meta-xilinx-core/recipes-bsp/bootbin/bootbin-version-string.bb diff --git a/meta-xilinx-core/recipes-bsp/bootbin/bootbin-version-string.bb b/meta-xilinx-core/recipes-bsp/bootbin/bootbin-version-string.bb new file mode 100644 index 00000000..af30a17d --- /dev/null +++ b/meta-xilinx-core/recipes-bsp/bootbin/bootbin-version-string.bb @@ -0,0 +1,32 @@ +DESCRIPTION = "Bootbin version file - text format" +SUMMARY = "The BIF file for bootbin requires a version file in a text format" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302" + +COMPATIBLE_MACHINE = "^$" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +BOOTBIN_VER_MAIN ?= "" +BOOTBIN_VER_SUFFIX ?= "${@(d.getVar('XILINX_VER_BUILD') or '')[:8] if d.getVar('XILINX_VER_UPDATE') != 'release' and not d.getVar('XILINX_VER_UPDATE').startswith('update') else ''}" +BOOTBIN_VER_FILE = "bootbin-version-string.txt" + +#BOOTBIN_MANIFEST_FILE ?= "bootbin-version-header.manifest" + +inherit deploy image-artifact-names + +python do_configure() { + if d.getVar("BOOTBIN_VER_SUFFIX"): + version = version + "-" + d.getVar("BOOTBIN_VER_SUFFIX") + with open(d.expand("${B}/${BOOTBIN_VER_FILE}"), "w") as f: + f.write(version) +} + +do_deploy() { + install -m 0644 ${B}/${BOOTBIN_VER_FILE} ${DEPLOYDIR}/${IMAGE_NAME}.txt + ln -s ${IMAGE_NAME}.txt ${DEPLOYDIR}/${IMAGE_LINK_NAME}.txt +# install -m 0644 ${B}/${BOOTBIN_MANIFEST_FILE} ${DEPLOYDIR}/${IMAGE_NAME}.manifest +# ln -s ${IMAGE_NAME}.manifest ${DEPLOYDIR}/${IMAGE_LINK_NAME}.manifest +} + +addtask deploy after do_compile -- cgit v1.2.3-54-g00ecf From ce8032d3494807793baf6f752a4de169b0ede0d0 Mon Sep 17 00:00:00 2001 From: saumya garg Date: Wed, 3 Apr 2024 10:17:54 +0530 Subject: xrt, zocl : Update commit id Changelog: Configure both channel IDs for aie_trace & aie_profile (#8038) Fix bug in Edge sw_emu flow (#8044) add cmake definition for linux builds (#8042) Improvements to AIE trace on clients (#8039) Fixing the map operator logic (#8040) Implementation of Hip stream apis (#8018) Hip test tidy up (#8029) Simplifying hip memory APIs interfaces. (#8037) CR-1192489: Memory Module Metric Event IDs are produced in tiles where no Mem Port kernel driver to Linux 6.8 (#8005) Fix on client to correct partition info device query request (#8033) VITIS-11112 HIP Binding: Memory Management. (#7983) Signed-off-by: saumya garg Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-xrt/xrt/xrt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc index 7c2e932c..5c24ffa6 100644 --- a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc @@ -3,7 +3,7 @@ BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != ' SRC_URI = "${REPO};${BRANCHARG};name=xrt" BRANCH= "master" -SRCREV_xrt = "f23d53edd42fea0f0acd08c194b4750ed77127e2" +SRCREV_xrt = "34ceebc40b326aae408f8dc523c785db796e0483" PV = "202320.2.17.0" SRC_URI += "git://github.com/Xilinx/dma_ip_drivers.git;branch=master;name=dma_ip_drivers;destsuffix=git/src/runtime_src/core/pcie/driver/linux/xocl/lib/libqdma;protocol=https" -- cgit v1.2.3-54-g00ecf From c09d6fbc6f6eb486498d81aa1f191b4be4767d7a Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Wed, 3 Apr 2024 13:56:33 -0600 Subject: dfx_user_dts.bbclass: Make bit or bin or pdi as required input 1. Make bit or bin or pdi as required input for firmware recipes. If bit or bin or pdi of respective soc_family is not included then raise bitbake parse skip recipe errors. 2. Check for absolute dtbo/bin/bit path if any of these files exits in SRC_URI. 3. Skip recipe if both dtbo and dts/dtsi found in SRC_URI. 4. Fix logic to convert from bit to bin for zynqmp or zynq soc family. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- .../classes-recipe/dfx_user_dts.bbclass | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/meta-xilinx-core/classes-recipe/dfx_user_dts.bbclass b/meta-xilinx-core/classes-recipe/dfx_user_dts.bbclass index 2b699d9d..188d594b 100644 --- a/meta-xilinx-core/classes-recipe/dfx_user_dts.bbclass +++ b/meta-xilinx-core/classes-recipe/dfx_user_dts.bbclass @@ -97,12 +97,15 @@ python() { # Check for valid combination of input files in SRC_URI # Skip recipe if any of the below conditions are not satisfied. - # 1. At least one bit or bin or pdi or dts or dtsi or dtbo should exists. + # 1. At least one bit or bin or pdi should exists. # 2. More than one dtbo. # 3. More than one bit or bin or pdi. # 4. More than one dts and zero dtsi. - # 5. More than one dtsi and zero dts. - if dtsi_found or dtbo_found or bit_found or bin_found or pdi_found: + # 5. More than one dtsi and zero dts + # 6. Both bit and bin exists. + # 7. Both bit or bin and pdi exits. + # 8. Both dts or dtsi and dtbo exists. + if bit_found or bin_found or pdi_found: bb.debug(2, "dtsi or dtbo or bitstream or pdi found in SRC_URI") if bit_found and pdi_found : raise bb.parse.SkipRecipe("Both '.bit' and '.pdi' file found in SRC_URI, this is invalid use case.") @@ -112,8 +115,11 @@ python() { if bit_found and bin_found: raise bb.parse.SkipRecipe("Both '.bit' and '.bin' file found in SRC_URI, either .bit or .bin file is supported but not both.") + + if dtsi_found and dtbo_found: + raise bb.parse.SkipRecipe("Both '.dts or dtsi' and '.dtbo' file found in SRC_URI, either .dts/dtsi or .dtbo file is supported but not both.") else: - raise bb.parse.SkipRecipe("Need one '.dtsi' or '.dtbo' or '.bit' or '.bin' or '.pdi' file added to SRC_URI ") + raise bb.parse.SkipRecipe("Need one '.bit' or '.bin' or '.pdi' file added to SRC_URI.") # Check for valid combination of dtsi and dts files in SRC_URI # Following file combinations are not supported use case. @@ -177,10 +183,11 @@ python devicetree_do_compile:append() { import glob, subprocess, shutil soc_family = d.getVar("SOC_FAMILY") - dtbo_count = sum(1 for f in glob.iglob((d.getVar('S') + '/*.dtbo'),recursive=True) if os.path.isfile(f)) - bin_count = sum(1 for f in glob.iglob((d.getVar('S') + '/*.bin'),recursive=True) if os.path.isfile(f)) + dtbo_count = sum(1 for f in glob.iglob((d.getVar('S') + '/' + (d.getVar('DTSI_PATH') or '') + '/*.dtbo'),recursive=True) if os.path.isfile(f)) + bin_count = sum(1 for f in glob.iglob((d.getVar('S') + '/' + (d.getVar('BIN_PATH') or '') + '/*.bin'),recursive=True) if os.path.isfile(f)) + bit_count = sum(1 for f in glob.iglob((d.getVar('S') + '/' + (d.getVar('BIT_PATH') or '') + '/*.bit'),recursive=True) if os.path.isfile(f)) # Skip devicetree do_compile task if input file is dtbo or bin in SRC_URI - if not dtbo_count and not bin_count: + if not dtbo_count and not bin_count and bit_count: # Convert .bit to .bin format only if dtsi is input. # In case of dtbo as input, bbclass doesn't know if firmware-name is .bit # or .bin format and corresponding file name. Hence we are not doing .bin -- cgit v1.2.3-54-g00ecf From 882bfdfd774038cee740405f5d9a6f5b3a7592b5 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Wed, 3 Apr 2024 13:56:34 -0600 Subject: README.dfx.user.dts.md: Update versal dfx load instructions 1. Update versal dfx static and partial load instructions. 2. Add Versal segmented configuration load instructions. 3. Also update zynqmp logs. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- docs/README.dfx.user.dts.md | 498 ++++++++++++++++++++++++-------------------- 1 file changed, 271 insertions(+), 227 deletions(-) diff --git a/docs/README.dfx.user.dts.md b/docs/README.dfx.user.dts.md index 724c1692..9caf866e 100644 --- a/docs/README.dfx.user.dts.md +++ b/docs/README.dfx.user.dts.md @@ -345,58 +345,59 @@ IMAGE_INSTALL:append = " \ * ZynqMP ``` -yocto-zynqmp-generic:~$ sudo su -yocto-zynqmp-generic:/home/petalinux# cat /proc/interrupts +yocto-zynqmp-generic:~$ cd / +yocto-zynqmp-generic:/$ sudo su +yocto-zynqmp-generic:/# cat /proc/interrupts CPU0 CPU1 CPU2 CPU3 - 11: 5820 5482 14979 6981 GICv2 30 Level arch_timer + 11: 3399 4404 3273 3113 GICv2 30 Level arch_timer 14: 0 0 0 0 GICv2 67 Level zynqmp-ipi - 15: 0 0 0 0 GICv2 175 Level arm-pmu - 16: 0 0 0 0 GICv2 176 Level arm-pmu - 17: 0 0 0 0 GICv2 177 Level arm-pmu - 18: 0 0 0 0 GICv2 178 Level arm-pmu - 19: 0 0 0 0 GICv2 58 Level ffa60000.rtc - 20: 0 0 0 0 GICv2 59 Level ffa60000.rtc - 21: 0 0 0 0 GICv2 42 Level ff960000.memory-controller - 22: 0 0 0 0 GICv2 88 Level ams-irq - 23: 0 0 0 0 GICv2 155 Level axi-pmon, axi-pmon - 24: 366 0 0 0 GICv2 53 Level xuartps - 27: 0 0 0 0 GICv2 156 Level zynqmp-dma - 28: 0 0 0 0 GICv2 157 Level zynqmp-dma - 29: 0 0 0 0 GICv2 158 Level zynqmp-dma - 30: 0 0 0 0 GICv2 159 Level zynqmp-dma - 31: 0 0 0 0 GICv2 160 Level zynqmp-dma - 32: 0 0 0 0 GICv2 161 Level zynqmp-dma - 33: 0 0 0 0 GICv2 162 Level zynqmp-dma - 34: 0 0 0 0 GICv2 163 Level zynqmp-dma - 35: 0 0 0 0 GICv2 109 Level zynqmp-dma - 36: 0 0 0 0 GICv2 110 Level zynqmp-dma - 37: 0 0 0 0 GICv2 111 Level zynqmp-dma - 38: 0 0 0 0 GICv2 112 Level zynqmp-dma - 39: 0 0 0 0 GICv2 113 Level zynqmp-dma - 40: 0 0 0 0 GICv2 114 Level zynqmp-dma - 41: 0 0 0 0 GICv2 115 Level zynqmp-dma - 42: 0 0 0 0 GICv2 116 Level zynqmp-dma - 43: 0 0 0 0 GICv2 154 Level fd4c0000.dma-controller - 44: 5938 0 0 0 GICv2 47 Level ff0f0000.spi - 45: 325 0 0 0 GICv2 95 Level eth0, eth0 - 46: 0 0 0 0 GICv2 57 Level axi-pmon, axi-pmon - 47: 2798 0 0 0 GICv2 49 Level cdns-i2c - 48: 326 0 0 0 GICv2 50 Level cdns-i2c - 50: 0 0 0 0 GICv2 84 Edge ff150000.watchdog - 51: 0 0 0 0 GICv2 151 Level fd4a0000.display - 52: 551 0 0 0 GICv2 81 Level mmc0 - 53: 0 0 0 0 GICv2 165 Level ahci-ceva[fd0c0000.ahci] - 54: 0 0 0 0 GICv2 97 Level xhci-hcd:usb1 - 55: 0 0 0 0 zynq-gpio 22 Edge sw19 -IPI0: 51 94 136 48 Rescheduling interrupts -IPI1: 2295 6271 2952 873 Function call interrupts + 15: 0 0 0 0 GICv2 58 Level ffa60000.rtc + 16: 0 0 0 0 GICv2 59 Level ffa60000.rtc + 17: 0 0 0 0 GICv2 88 Level ams-irq + 18: 0 0 0 0 GICv2 155 Level axi-pmon, axi-pmon + 19: 0 0 0 0 GICv2 175 Level arm-pmu + 20: 0 0 0 0 GICv2 176 Level arm-pmu + 21: 0 0 0 0 GICv2 177 Level arm-pmu + 22: 0 0 0 0 GICv2 178 Level arm-pmu + 23: 379 0 0 0 GICv2 53 Level xuartps + 26: 0 0 0 0 GICv2 156 Level zynqmp-dma + 27: 0 0 0 0 GICv2 157 Level zynqmp-dma + 28: 0 0 0 0 GICv2 158 Level zynqmp-dma + 29: 0 0 0 0 GICv2 159 Level zynqmp-dma + 30: 0 0 0 0 GICv2 160 Level zynqmp-dma + 31: 0 0 0 0 GICv2 161 Level zynqmp-dma + 32: 0 0 0 0 GICv2 162 Level zynqmp-dma + 33: 0 0 0 0 GICv2 163 Level zynqmp-dma + 34: 0 0 0 0 GICv2 109 Level zynqmp-dma + 35: 0 0 0 0 GICv2 110 Level zynqmp-dma + 36: 0 0 0 0 GICv2 111 Level zynqmp-dma + 37: 0 0 0 0 GICv2 112 Level zynqmp-dma + 38: 0 0 0 0 GICv2 113 Level zynqmp-dma + 39: 0 0 0 0 GICv2 114 Level zynqmp-dma + 40: 0 0 0 0 GICv2 115 Level zynqmp-dma + 41: 0 0 0 0 GICv2 116 Level zynqmp-dma + 42: 0 0 0 0 GICv2 154 Level fd4c0000.dma-controller + 43: 11183 0 0 0 GICv2 47 Level ff0f0000.spi + 44: 77 0 0 0 GICv2 95 Level eth0, eth0 + 45: 0 0 0 0 GICv2 57 Level axi-pmon, axi-pmon + 46: 2365 0 0 0 GICv2 49 Level cdns-i2c + 47: 326 0 0 0 GICv2 50 Level cdns-i2c + 49: 0 0 0 0 GICv2 84 Edge ff150000.watchdog + 50: 0 0 0 0 GICv2 151 Level fd4a0000.display + 51: 551 0 0 0 GICv2 81 Level mmc0 + 52: 0 0 0 0 GICv2 165 Level ahci-ceva[fd0c0000.ahci] + 53: 0 0 0 0 GICv2 97 Level xhci-hcd:usb1 + 54: 0 0 0 0 zynq-gpio 22 Edge sw19 +IPI0: 73 69 133 115 Rescheduling interrupts +IPI1: 2590 1426 1711 13134 Function call interrupts IPI2: 0 0 0 0 CPU stop interrupts IPI3: 0 0 0 0 CPU stop (for crash dump) interrupts IPI4: 0 0 0 0 Timer broadcast interrupts IPI5: 0 0 0 0 IRQ work interrupts IPI6: 0 0 0 0 CPU wake-up interrupts Err: 0 -yocto-zynqmp-generic:/home/petalinux# tree /lib/firmware/ +yocto-zynqmp-generic:/# +yocto-zynqmp-generic:/# tree /lib/firmware/ /lib/firmware/ `-- xilinx `-- zcu111-pl-demo-user-dts @@ -405,83 +406,127 @@ yocto-zynqmp-generic:/home/petalinux# tree /lib/firmware/ `-- zcu111-pl-demo-user-dts.dtbo 2 directories, 3 files -yocto-zynqmp-generic:/home/petalinux# fpgautil -b /lib/firmware/xilinx/zcu111-pl-demo-user-dts/zcu111-pl-demo-user-dts.bin -o /lib/firmware/xilinx/zcu111-pl-demo-user-dts/zcu111-pl-demo-user-dts.dtbo -[ 370.737539] fpga_manager fpga0: writing zcu111-pl-demo-user-dts.bin to Xilinx ZynqMP FPGA Manager -[ 370.960368] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/firmware-name -[ 370.970508] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/pid -[ 370.979755] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/resets -[ 370.989244] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/uid -[ 370.998947] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/afi0 -[ 371.008449] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/clocking0 -[ 371.018398] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_gpio_0 -[ 371.028420] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/misc_clk_0 -[ 371.038442] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_gpio_1 -[ 371.048467] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_gpio_2 -[ 371.058487] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_uartlite_0 -[ 371.068852] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/ddr4_0 -[ 371.096047] gpio gpiochip3: (a0000000.gpio): not an immutable chip, please consider fixing it! -[ 371.096223] gpio gpiochip4: (a0010000.gpio): not an immutable chip, please consider fixing it! -[ 371.115206] a0030000.serial: ttyUL0 at MMIO 0xa0030000 (irq = 58, base_baud = 0) is a uartlite -[ 371.124178] uartlite a0030000.serial: Runtime PM usage count underflow! -[ 371.133186] input: axi:pl-gpio-keys as /devices/platform/axi/axi:pl-gpio-keys/input/input1 -Time taken to load BIN is 409.000000 Milli Seconds +yocto-zynqmp-generic:/# +yocto-zynqmp-generic:/# fpgautil -b /lib/firmware/xilinx/zcu111-pl-demo-user-dts/zcu111-pl-demo-user-dts.bin -o /lib/firmware/xilinx/zcu111-pl-demo-user-dts/zcu111-pl-demo-user-dts.dtbo +[ 86.077583] fpga_manager fpga0: writing zcu111-pl-demo-user-dts.bin to Xilinx ZynqMP FPGA Manager +[ 86.300854] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-region/firmware-name +[ 86.311158] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-region/pid +[ 86.320571] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-region/resets +[ 86.330230] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-region/uid +[ 86.340074] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/afi0 +[ 86.349574] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/clocking0 +[ 86.359510] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_gpio_0 +[ 86.369526] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/misc_clk_0 +[ 86.379544] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_gpio_1 +[ 86.389561] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_gpio_2 +[ 86.399588] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_uartlite_0 +[ 86.409951] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/ddr4_0 +[ 86.439309] a0030000.serial: ttyUL0 at MMIO 0xa0030000 (irq = 57, base_baud = 0) is a uartlite +[ 86.456365] uartlite a0030000.serial: Runtime PM usage count underflow! +[ 86.466353] input: axi:pl-gpio-keys as /devices/platform/axi/axi:pl-gpio-keys/input/input1 +Time taken to load BIN is 402.000000 Milli Seconds BIN FILE loaded through FPGA manager successfully -yocto-zynqmp-generic:/home/petalinux# +yocto-zynqmp-generic:/# ``` * Versal (DFx Static) ``` -yocto-vck190-dfx-2023:~$ sudo su -root@yocto-vck190-dfx-2023:~# -root@yocto-vck190-dfx-2023:~# fpgautil -o /lib/firmware/xilinx/vck190-dfx-static/vck190-dfx-static.dtbo -[ 257.555571] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga/external-fpga-config -[ 257.565879] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga/pid -[ 257.574670] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga/uid -[ 257.583599] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/fpga_PR0 -[ 257.593434] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/fpga_PR1 -[ 257.603268] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/fpga_PR2 -[ 257.613100] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/static_region_axi_bram_ctrl_0 -[ 257.624762] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/static_region_dfx_decoupler_rp1 -[ 257.636589] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/static_region_dfx_decoupler_rp2 -[ 257.648415] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/static_region_dfx_decoupler_rp3 -[ 257.663234] of-fpga-region fpga:fpga-PR0: FPGA Region probed -[ 257.669135] of-fpga-region fpga:fpga-PR1: FPGA Region probed -[ 257.675022] of-fpga-region fpga:fpga-PR2: FPGA Region probed -root@yocto-vck190-dfx-2023:~# +yocto-vck190-versal:/$ sudo su +yocto-vck190-versal:/# fpgautil -b /lib/firmware/xilinx/vck190-dfx-static/vck190-dfx-static.pdi -o /lib/firmware/xilinx/vck190-dfx-static/vck190-dfx-static.dtbo +[ 110.575263] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga/external-fpga-config +[ 110.585557] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga/pid +[ 110.594365] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga/uid +[ 110.603307] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/fpga_PR0 +[ 110.613152] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/fpga_PR1 +[ 110.623007] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/fpga_PR2 +[ 110.632849] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/static_region_axi_bram_ctrl_0 +[ 110.644516] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/static_region_dfx_decoupler_rp1 +[ 110.656351] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/static_region_dfx_decoupler_rp2 +[ 110.668188] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/static_region_dfx_decoupler_rp3 +[ 110.682762] of-fpga-region fpga:fpga-PR0: FPGA Region probed +[ 110.689956] of-fpga-region fpga:fpga-PR1: FPGA Region probed +[ 110.695890] of-fpga-region fpga:fpga-PR2: FPGA Region probed +Time taken to load BIN is 133.000000 Milli Seconds +BIN FILE loaded through FPGA manager successfully +yocto-vck190-versal:/# ``` * Versal (DFx RP) ``` -root@yocto-vck190-dfx-2023:~# fpgautil -b /lib/firmware/xilinx/vck190-dfx-static/rp1/vck190-dfx-rp1rm1-dipsw/vck190-dfx-rp1rm1-dipsw.pdi -o /lib/firmware/xilinx/vck190-dfx-static/rp1/vck190-dfx-rp1rm1-dipsw/vck190-dfx-rp1rm1-dipsw.dtbo -f Partial -n PR0 -[ 273.511455] fpga_manager fpga0: writing vck190-dfx-rp1rm1-dipsw.pdi to Xilinx Versal FPGA Manager -[284052.461]Loading PDI from DDR -[284052.566]Monolithic/Master Device -[284055.847]3.365 ms: PDI initialization time -[284059.809]+++Loading Image#: 0x0, Name: pl_cfi, Id: 0x18700002 -[284065.432]---Loading Partition#: 0x0, Id: 0x103 -[284069.829] 0.033 ms for Partition#: 0x0, Size: 1312 Bytes -[284074.973]---Loading Partition#: 0x1, Id: 0x105 -[284079.344] 0.007 ms for Partition#: 0x1, Size: 160 Bytes -[284084.430]---Loading Partition#: 0x2, Id: 0x205 -[284088.844] 0.049 ms for Partition#: 0x2, Size: 960 Bytes -[284093.887]---Loading Partition#: 0x3, Id: 0x203 -[284098.280] 0.030 ms for Partition#: 0x3, Size: 688 Bytes -[284103.342]---Loading Partition#: 0x4, Id: 0x303 -[284108.863] 1.156 ms for Partition#: 0x4, Size: 209440 Bytes -[284113.052]---Loading Partition#: 0x5, Id: 0x305 -[284117.712] 0.296 ms for Partition#: 0x5, Size: 3536 Bytes -[284122.594]---Loading Partition#: 0x6, Id: 0x403 -[284126.991] 0.034 ms for Partition#: 0x6, Size: 8096 Bytes -[284132.136]---Loading Partition#: 0x7, Id: 0x405 -[284136.507] 0.007 ms for Partition#: 0x7, Size: 160 Bytes -[284141.636]Subsystem PDI Load: Done -[ 273.615503] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga/firmware-name -[ 273.627382] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga/fpga-bridges -[ 273.636953] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga/partial-fpga-config -[ 273.647241] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/rp1_axi_gpio_0 -[ 273.660826] gpio gpiochip1: (a4010000.gpio): not an immutable chip, please consider fixing it! -[ 273.670490] input: pl-gpio-keys as /devices/platform/pl-gpio-keys/input/input0 -Time taken to load BIN is 171.000000 Milli Seconds +yocto-vck190-versal:/$ sudo su +yocto-vck190-versal:/# fpgautil -b /lib/firmware/xilinx/vck190-dfx-rp1rm1-dipsw/vck190-dfx-rp1rm1-dipsw.pdi -o /lib/firmware/xilinx/vck190-dfx-rp1rm1-dipsw/vck190-dfx-rp1rm1-dipsw.dtbo -f Partial -n PR0 +[ 154.155127] fpga_manager fpga0: writing vck190-dfx-rp1rm1-dipsw.pdi to Xilinx Versal FPGA Manager +[173465.709]Loading PDI from DDR +[173465.800]Monolithic/Master Device +[173469.235]3.520 ms: PDI initialization time +[173473.045]+++Loading Image#: 0x0, Name: pl_cfi, Id: 0x18700002 +[173478.669]---Loading Partition#: 0x0, Id: 0x103 +[173483.052] 0.032 ms for Partition#: 0x0, Size: 1264 Bytes +[173488.219]---Loading Partition#: 0x1, Id: 0x203 +[173492.599] 0.030 ms for Partition#: 0x1, Size: 672 Bytes +[173497.682]---Loading Partition#: 0x2, Id: 0x303 +[173503.193] 1.159 ms for Partition#: 0x2, Size: 204960 Bytes +[173507.400]---Loading Partition#: 0x3, Id: 0x403 +[173511.805] 0.054 ms for Partition#: 0x3, Size: 8400 Bytes +[173516.979]Subsystem PDI Load: Done +[ 154.220425] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/rp1_axi_gpio_0 +[ 154.239592] input: axi:pl-gpio-keys as /devices/platform/axi/axi:pl-gpio-keys/input/input1 +Time taken to load BIN is 99.000000 Milli Seconds BIN FILE loaded through FPGA manager successfully -root@yocto-vck190-dfx-2023:~# +yocto-vck190-versal:/# +``` +* Versal (Segmented Configuration) +``` +yocto-vck190-versal:/$ sudo su +yocto-vck190-versal:/# fpgautil -b /lib/firmware/xilinx/vck190-dfx-full/vck190-dfx-full.pdi -o /lib/firmware/xilinx/vck190-dfx-full/vck190-dfx-full.dtbo +[ 642.857986] fpga_manager fpga0: writing vck190-dfx-full.pdi to Xilinx Versal FPGA Manager +[653673.622]Loading PDI from DDR +[653673.713]Monolithic/Master Device +[653677.159]3.531 ms: PDI initialization time +[653680.973]+++Loading Image#: 0x0, Name: pl_cfi, Id: 0x18700001 +[653686.608]---Loading Partition#: 0x0, Id: 0x103 +[653705.058] 14.091 ms for Partition#: 0x0, Size: 22176 Bytes +[653707.626]---Loading Partition#: 0x1, Id: 0x105 +[653712.243] 0.264 ms for Partition#: 0x1, Size: 4784 Bytes +[653717.183]---Loading Partition#: 0x2, Id: 0x205 +[653725.148] 3.608 ms for Partition#: 0x2, Size: 64368 Bytes +[653727.632]---Loading Partition#: 0x3, Id: 0x203 +[653732.018] 0.030 ms for Partition#: 0x3, Size: 672 Bytes +[653737.107]---Loading Partition#: 0x4, Id: 0x303 +[653768.983] 27.516 ms for Partition#: 0x4, Size: 1115456 Bytes +[653771.723]---Loading Partition#: 0x5, Id: 0x305 +[653777.150] 1.068 ms for Partition#: 0x5, Size: 69056 Bytes +[653781.371]---Loading Partition#: 0x6, Id: 0x403 +[653785.892] 0.166 ms for Partition#: 0x6, Size: 242320 Bytes +[653791.103]---Loading Partition#: 0x7, Id: 0x405 +ERR PldMemCtrlrMap: 0x490E +ERR PldInitNode: 0xFFFF +ERR XPm_InitNode: 0xFFFF +ALERT XPm_ProcessCmd: Error 0x15 while processing command 0xC023E +ALERT XPm_ProcessCmd: Err Code: 0x15 +[653811.158]CMD: 0x000C023E execute failed, Processed Cdo Length 0x129C +[653817.390]CMD Payload START, Len:0x00000008 + 0x00000000F20012C0: 0x18700001 0x0000000A 0xF6110000 0x00000002 + 0x00000000F20012CC: 0x00000000 0x00000000 0x80000000 0x00000000 + 0x00000000F20012DC: +[653834.800]CMD Payload END +[653837.277]Error loading PL data: +CFU_ISR: 0x00000000, CFU_STATUS: 0x00002A8C +PMC ERR1: 0x00000000, PMC ERR2: 0x00000000 +[653848.127]PLM Error Status: 0x223E0015 +[65 851.704]XPlm _IpiDispatehHandl0:: Error:hIPI crmmand faileddfor tommanA ID: 0x1000701 +[653859.465]PLM Error Status: 0x27010015 +[ 643.063905] fpga_region region0: failed to load FPGA image +[ 643.069420] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga/firmware-name +[ 643.079075] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga/pid +[ 643.087857] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga/uid +[ 643.096849] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_bram_ctrl_0 +[ 643.107288] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_gpio_dip_sw +[ 643.117729] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_gpio_led +[ 643.127906] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_gpio_pb +[ 643.137996] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/axi_uartlite_0 +[ 643.178340] 20100000000.serial: ttyUL0 at MMIO 0x20100000000 (irq = 41, base_baud = 0) is a uartlite +[ 643.189536] uartlite 20100000000.serial: Runtime PM usage count underflow! +[ 643.198059] input: axi:pl-gpio-keys as /devices/platform/axi/axi:pl-gpio-keys/input/input0 +yocto-vck190-versal:/# ``` --- @@ -491,134 +536,133 @@ root@yocto-vck190-dfx-2023:~# * Verify PL GPIO DIP switches and Push buttons are registered. * Move the DIP Switches ON/OFF and verify the interrupt counts. ``` -yocto-zynqmp-generic:/home/petalinux# cat /proc/interrupts +yocto-zynqmp-generic:/# cat /proc/interrupts CPU0 CPU1 CPU2 CPU3 - 11: 7674 7136 20210 8226 GICv2 30 Level arch_timer + 11: 4254 6509 4214 4236 GICv2 30 Level arch_timer 14: 0 0 0 0 GICv2 67 Level zynqmp-ipi - 15: 0 0 0 0 GICv2 175 Level arm-pmu - 16: 0 0 0 0 GICv2 176 Level arm-pmu - 17: 0 0 0 0 GICv2 177 Level arm-pmu - 18: 0 0 0 0 GICv2 178 Level arm-pmu - 19: 0 0 0 0 GICv2 58 Level ffa60000.rtc - 20: 0 0 0 0 GICv2 59 Level ffa60000.rtc - 21: 0 0 0 0 GICv2 42 Level ff960000.memory-controller - 22: 0 0 0 0 GICv2 88 Level ams-irq - 23: 0 0 0 0 GICv2 155 Level axi-pmon, axi-pmon - 24: 1143 0 0 0 GICv2 53 Level xuartps - 27: 0 0 0 0 GICv2 156 Level zynqmp-dma - 28: 0 0 0 0 GICv2 157 Level zynqmp-dma - 29: 0 0 0 0 GICv2 158 Level zynqmp-dma - 30: 0 0 0 0 GICv2 159 Level zynqmp-dma - 31: 0 0 0 0 GICv2 160 Level zynqmp-dma - 32: 0 0 0 0 GICv2 161 Level zynqmp-dma - 33: 0 0 0 0 GICv2 162 Level zynqmp-dma - 34: 0 0 0 0 GICv2 163 Level zynqmp-dma - 35: 0 0 0 0 GICv2 109 Level zynqmp-dma - 36: 0 0 0 0 GICv2 110 Level zynqmp-dma - 37: 0 0 0 0 GICv2 111 Level zynqmp-dma - 38: 0 0 0 0 GICv2 112 Level zynqmp-dma - 39: 0 0 0 0 GICv2 113 Level zynqmp-dma - 40: 0 0 0 0 GICv2 114 Level zynqmp-dma - 41: 0 0 0 0 GICv2 115 Level zynqmp-dma - 42: 0 0 0 0 GICv2 116 Level zynqmp-dma - 43: 0 0 0 0 GICv2 154 Level fd4c0000.dma-controller - 44: 5938 0 0 0 GICv2 47 Level ff0f0000.spi - 45: 485 0 0 0 GICv2 95 Level eth0, eth0 - 46: 0 0 0 0 GICv2 57 Level axi-pmon, axi-pmon - 47: 2798 0 0 0 GICv2 49 Level cdns-i2c - 48: 326 0 0 0 GICv2 50 Level cdns-i2c - 50: 0 0 0 0 GICv2 84 Edge ff150000.watchdog - 51: 0 0 0 0 GICv2 151 Level fd4a0000.display - 52: 551 0 0 0 GICv2 81 Level mmc0 - 53: 0 0 0 0 GICv2 165 Level ahci-ceva[fd0c0000.ahci] - 54: 0 0 0 0 GICv2 97 Level xhci-hcd:usb1 - 55: 0 0 0 0 zynq-gpio 22 Edge sw19 - 59: 0 0 0 0 gpio-xilinx 4 Edge PL_GPIO_PB_SW9_N - 60: 0 0 0 0 gpio-xilinx 3 Edge PL_GPIO_PB_SW12_E - 61: 0 0 0 0 gpio-xilinx 2 Edge PL_GPIO_PB_SW13_S - 62: 0 0 0 0 gpio-xilinx 1 Edge PL_GPIO_PB_SW10_W - 63: 0 0 0 0 gpio-xilinx 0 Edge PL_GPIO_PB_SW11_C - 64: 0 0 0 0 gpio-xilinx 7 Edge PL_GPIO_DIP_SW7 - 65: 0 0 0 0 gpio-xilinx 6 Edge PL_GPIO_DIP_SW6 - 66: 0 0 0 0 gpio-xilinx 5 Edge PL_GPIO_DIP_SW5 - 67: 0 0 0 0 gpio-xilinx 4 Edge PL_GPIO_DIP_SW4 - 68: 0 0 0 0 gpio-xilinx 3 Edge PL_GPIO_DIP_SW3 - 69: 0 0 0 0 gpio-xilinx 2 Edge PL_GPIO_DIP_SW2 - 70: 0 0 0 0 gpio-xilinx 1 Edge PL_GPIO_DIP_SW1 - 71: 0 0 0 0 gpio-xilinx 0 Edge PL_GPIO_DIP_SW0 -IPI0: 64 106 160 56 Rescheduling interrupts -IPI1: 2712 6721 3259 998 Function call interrupts + 15: 0 0 0 0 GICv2 58 Level ffa60000.rtc + 16: 0 0 0 0 GICv2 59 Level ffa60000.rtc + 17: 0 0 0 0 GICv2 88 Level ams-irq + 18: 0 0 0 0 GICv2 155 Level axi-pmon, axi-pmon + 19: 0 0 0 0 GICv2 175 Level arm-pmu + 20: 0 0 0 0 GICv2 176 Level arm-pmu + 21: 0 0 0 0 GICv2 177 Level arm-pmu + 22: 0 0 0 0 GICv2 178 Level arm-pmu + 23: 579 0 0 0 GICv2 53 Level xuartps + 26: 0 0 0 0 GICv2 156 Level zynqmp-dma + 27: 0 0 0 0 GICv2 157 Level zynqmp-dma + 28: 0 0 0 0 GICv2 158 Level zynqmp-dma + 29: 0 0 0 0 GICv2 159 Level zynqmp-dma + 30: 0 0 0 0 GICv2 160 Level zynqmp-dma + 31: 0 0 0 0 GICv2 161 Level zynqmp-dma + 32: 0 0 0 0 GICv2 162 Level zynqmp-dma + 33: 0 0 0 0 GICv2 163 Level zynqmp-dma + 34: 0 0 0 0 GICv2 109 Level zynqmp-dma + 35: 0 0 0 0 GICv2 110 Level zynqmp-dma + 36: 0 0 0 0 GICv2 111 Level zynqmp-dma + 37: 0 0 0 0 GICv2 112 Level zynqmp-dma + 38: 0 0 0 0 GICv2 113 Level zynqmp-dma + 39: 0 0 0 0 GICv2 114 Level zynqmp-dma + 40: 0 0 0 0 GICv2 115 Level zynqmp-dma + 41: 0 0 0 0 GICv2 116 Level zynqmp-dma + 42: 0 0 0 0 GICv2 154 Level fd4c0000.dma-controller + 43: 11183 0 0 0 GICv2 47 Level ff0f0000.spi + 44: 146 0 0 0 GICv2 95 Level eth0, eth0 + 45: 0 0 0 0 GICv2 57 Level axi-pmon, axi-pmon + 46: 2365 0 0 0 GICv2 49 Level cdns-i2c + 47: 326 0 0 0 GICv2 50 Level cdns-i2c + 49: 0 0 0 0 GICv2 84 Edge ff150000.watchdog + 50: 0 0 0 0 GICv2 151 Level fd4a0000.display + 51: 551 0 0 0 GICv2 81 Level mmc0 + 52: 0 0 0 0 GICv2 165 Level ahci-ceva[fd0c0000.ahci] + 53: 0 0 0 0 GICv2 97 Level xhci-hcd:usb1 + 54: 0 0 0 0 zynq-gpio 22 Edge sw19 + 58: 0 0 0 0 gpio-xilinx 4 Edge PL_GPIO_PB_SW9_N + 59: 0 0 0 0 gpio-xilinx 3 Edge PL_GPIO_PB_SW12_E + 60: 0 0 0 0 gpio-xilinx 2 Edge PL_GPIO_PB_SW13_S + 61: 0 0 0 0 gpio-xilinx 1 Edge PL_GPIO_PB_SW10_W + 62: 0 0 0 0 gpio-xilinx 0 Edge PL_GPIO_PB_SW11_C + 63: 0 0 0 0 gpio-xilinx 7 Edge PL_GPIO_DIP_SW7 + 64: 0 0 0 0 gpio-xilinx 6 Edge PL_GPIO_DIP_SW6 + 65: 0 0 0 0 gpio-xilinx 5 Edge PL_GPIO_DIP_SW5 + 66: 0 0 0 0 gpio-xilinx 4 Edge PL_GPIO_DIP_SW4 + 67: 0 0 0 0 gpio-xilinx 3 Edge PL_GPIO_DIP_SW3 + 68: 0 0 0 0 gpio-xilinx 2 Edge PL_GPIO_DIP_SW2 + 69: 0 0 0 0 gpio-xilinx 1 Edge PL_GPIO_DIP_SW1 + 70: 0 0 0 0 gpio-xilinx 0 Edge PL_GPIO_DIP_SW0 +IPI0: 77 79 141 123 Rescheduling interrupts +IPI1: 2621 1536 1782 13236 Function call interrupts IPI2: 0 0 0 0 CPU stop interrupts IPI3: 0 0 0 0 CPU stop (for crash dump) interrupts IPI4: 0 0 0 0 Timer broadcast interrupts IPI5: 0 0 0 0 IRQ work interrupts IPI6: 0 0 0 0 CPU wake-up interrupts Err: 0 -yocto-zcu111-zynqmp:/home/petalinux# -yocto-zcu111-zynqmp:/home/petalinux# cat /proc/interrupts +yocto-zynqmp-generic:/# +yocto-zynqmp-generic:/# +yocto-zynqmp-generic:/# cat /proc/interrupts CPU0 CPU1 CPU2 CPU3 - 11: 8530 7717 22106 8626 GICv2 30 Level arch_timer + 11: 4972 7894 4568 4673 GICv2 30 Level arch_timer 14: 0 0 0 0 GICv2 67 Level zynqmp-ipi - 15: 0 0 0 0 GICv2 175 Level arm-pmu - 16: 0 0 0 0 GICv2 176 Level arm-pmu - 17: 0 0 0 0 GICv2 177 Level arm-pmu - 18: 0 0 0 0 GICv2 178 Level arm-pmu - 19: 0 0 0 0 GICv2 58 Level ffa60000.rtc - 20: 0 0 0 0 GICv2 59 Level ffa60000.rtc - 21: 0 0 0 0 GICv2 42 Level ff960000.memory-controller - 22: 0 0 0 0 GICv2 88 Level ams-irq - 23: 0 0 0 0 GICv2 155 Level axi-pmon, axi-pmon - 24: 1234 0 0 0 GICv2 53 Level xuartps - 27: 0 0 0 0 GICv2 156 Level zynqmp-dma - 28: 0 0 0 0 GICv2 157 Level zynqmp-dma - 29: 0 0 0 0 GICv2 158 Level zynqmp-dma - 30: 0 0 0 0 GICv2 159 Level zynqmp-dma - 31: 0 0 0 0 GICv2 160 Level zynqmp-dma - 32: 0 0 0 0 GICv2 161 Level zynqmp-dma - 33: 0 0 0 0 GICv2 162 Level zynqmp-dma - 34: 0 0 0 0 GICv2 163 Level zynqmp-dma - 35: 0 0 0 0 GICv2 109 Level zynqmp-dma - 36: 0 0 0 0 GICv2 110 Level zynqmp-dma - 37: 0 0 0 0 GICv2 111 Level zynqmp-dma - 38: 0 0 0 0 GICv2 112 Level zynqmp-dma - 39: 0 0 0 0 GICv2 113 Level zynqmp-dma - 40: 0 0 0 0 GICv2 114 Level zynqmp-dma - 41: 0 0 0 0 GICv2 115 Level zynqmp-dma - 42: 0 0 0 0 GICv2 116 Level zynqmp-dma - 43: 0 0 0 0 GICv2 154 Level fd4c0000.dma-controller - 44: 5938 0 0 0 GICv2 47 Level ff0f0000.spi - 45: 527 0 0 0 GICv2 95 Level eth0, eth0 - 46: 0 0 0 0 GICv2 57 Level axi-pmon, axi-pmon - 47: 2798 0 0 0 GICv2 49 Level cdns-i2c - 48: 326 0 0 0 GICv2 50 Level cdns-i2c - 50: 0 0 0 0 GICv2 84 Edge ff150000.watchdog - 51: 0 0 0 0 GICv2 151 Level fd4a0000.display - 52: 551 0 0 0 GICv2 81 Level mmc0 - 53: 0 0 0 0 GICv2 165 Level ahci-ceva[fd0c0000.ahci] - 54: 0 0 0 0 GICv2 97 Level xhci-hcd:usb1 - 55: 0 0 0 0 zynq-gpio 22 Edge sw19 - 59: 2 0 0 0 gpio-xilinx 4 Edge PL_GPIO_PB_SW9_N - 60: 4 0 0 0 gpio-xilinx 3 Edge PL_GPIO_PB_SW12_E - 61: 6 0 0 0 gpio-xilinx 2 Edge PL_GPIO_PB_SW13_S - 62: 4 0 0 0 gpio-xilinx 1 Edge PL_GPIO_PB_SW10_W - 63: 2 0 0 0 gpio-xilinx 0 Edge PL_GPIO_PB_SW11_C - 64: 20 0 0 0 gpio-xilinx 7 Edge PL_GPIO_DIP_SW7 - 65: 20 0 0 0 gpio-xilinx 6 Edge PL_GPIO_DIP_SW6 - 66: 2 0 0 0 gpio-xilinx 5 Edge PL_GPIO_DIP_SW5 - 67: 8 0 0 0 gpio-xilinx 4 Edge PL_GPIO_DIP_SW4 - 68: 4 0 0 0 gpio-xilinx 3 Edge PL_GPIO_DIP_SW3 - 69: 2 0 0 0 gpio-xilinx 2 Edge PL_GPIO_DIP_SW2 - 70: 2 0 0 0 gpio-xilinx 1 Edge PL_GPIO_DIP_SW1 - 71: 2 0 0 0 gpio-xilinx 0 Edge PL_GPIO_DIP_SW0 -IPI0: 64 107 160 56 Rescheduling interrupts -IPI1: 2720 6763 3430 998 Function call interrupts + 15: 0 0 0 0 GICv2 58 Level ffa60000.rtc + 16: 0 0 0 0 GICv2 59 Level ffa60000.rtc + 17: 0 0 0 0 GICv2 88 Level ams-irq + 18: 0 0 0 0 GICv2 155 Level axi-pmon, axi-pmon + 19: 0 0 0 0 GICv2 175 Level arm-pmu + 20: 0 0 0 0 GICv2 176 Level arm-pmu + 21: 0 0 0 0 GICv2 177 Level arm-pmu + 22: 0 0 0 0 GICv2 178 Level arm-pmu + 23: 685 0 0 0 GICv2 53 Level xuartps + 26: 0 0 0 0 GICv2 156 Level zynqmp-dma + 27: 0 0 0 0 GICv2 157 Level zynqmp-dma + 28: 0 0 0 0 GICv2 158 Level zynqmp-dma + 29: 0 0 0 0 GICv2 159 Level zynqmp-dma + 30: 0 0 0 0 GICv2 160 Level zynqmp-dma + 31: 0 0 0 0 GICv2 161 Level zynqmp-dma + 32: 0 0 0 0 GICv2 162 Level zynqmp-dma + 33: 0 0 0 0 GICv2 163 Level zynqmp-dma + 34: 0 0 0 0 GICv2 109 Level zynqmp-dma + 35: 0 0 0 0 GICv2 110 Level zynqmp-dma + 36: 0 0 0 0 GICv2 111 Level zynqmp-dma + 37: 0 0 0 0 GICv2 112 Level zynqmp-dma + 38: 0 0 0 0 GICv2 113 Level zynqmp-dma + 39: 0 0 0 0 GICv2 114 Level zynqmp-dma + 40: 0 0 0 0 GICv2 115 Level zynqmp-dma + 41: 0 0 0 0 GICv2 116 Level zynqmp-dma + 42: 0 0 0 0 GICv2 154 Level fd4c0000.dma-controller + 43: 11183 0 0 0 GICv2 47 Level ff0f0000.spi + 44: 265 0 0 0 GICv2 95 Level eth0, eth0 + 45: 0 0 0 0 GICv2 57 Level axi-pmon, axi-pmon + 46: 2365 0 0 0 GICv2 49 Level cdns-i2c + 47: 326 0 0 0 GICv2 50 Level cdns-i2c + 49: 0 0 0 0 GICv2 84 Edge ff150000.watchdog + 50: 0 0 0 0 GICv2 151 Level fd4a0000.display + 51: 551 0 0 0 GICv2 81 Level mmc0 + 52: 0 0 0 0 GICv2 165 Level ahci-ceva[fd0c0000.ahci] + 53: 0 0 0 0 GICv2 97 Level xhci-hcd:usb1 + 54: 0 0 0 0 zynq-gpio 22 Edge sw19 + 58: 12 0 0 0 gpio-xilinx 4 Edge PL_GPIO_PB_SW9_N + 59: 8 0 0 0 gpio-xilinx 3 Edge PL_GPIO_PB_SW12_E + 60: 8 0 0 0 gpio-xilinx 2 Edge PL_GPIO_PB_SW13_S + 61: 8 0 0 0 gpio-xilinx 1 Edge PL_GPIO_PB_SW10_W + 62: 10 0 0 0 gpio-xilinx 0 Edge PL_GPIO_PB_SW11_C + 63: 2 0 0 0 gpio-xilinx 7 Edge PL_GPIO_DIP_SW7 + 64: 4 0 0 0 gpio-xilinx 6 Edge PL_GPIO_DIP_SW6 + 65: 2 0 0 0 gpio-xilinx 5 Edge PL_GPIO_DIP_SW5 + 66: 2 0 0 0 gpio-xilinx 4 Edge PL_GPIO_DIP_SW4 + 67: 2 0 0 0 gpio-xilinx 3 Edge PL_GPIO_DIP_SW3 + 68: 2 0 0 0 gpio-xilinx 2 Edge PL_GPIO_DIP_SW2 + 69: 2 0 0 0 gpio-xilinx 1 Edge PL_GPIO_DIP_SW1 + 70: 4 0 0 0 gpio-xilinx 0 Edge PL_GPIO_DIP_SW0 +IPI0: 77 79 142 123 Rescheduling interrupts +IPI1: 2641 1596 2011 13239 Function call interrupts IPI2: 0 0 0 0 CPU stop interrupts IPI3: 0 0 0 0 CPU stop (for crash dump) interrupts IPI4: 0 0 0 0 Timer broadcast interrupts IPI5: 0 0 0 0 IRQ work interrupts IPI6: 0 0 0 0 CPU wake-up interrupts Err: 0 -yocto-zynqmp-generic:/home/petalinux# +yocto-zynqmp-generic:/# ``` --- @@ -629,11 +673,11 @@ yocto-zynqmp-generic:/home/petalinux# fpgautil -R ``` * Versal (DFx RP) ``` -root@yocto-vck190-dfx-2023:~# fpgautil -R -n PR0 +yocto-vck190-versal:/# fpgautil -R -n PR0 ``` * Versal (DFx Static) ``` -root@yocto-vck190-dfx-2023:~# fpgautil -R -n Full +yocto-vck190-versal:/# fpgautil -R -n Full ``` --- -- cgit v1.2.3-54-g00ecf From d9b70b9917e95850f507cd72523b149ac526042a Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 5 Apr 2024 06:02:04 +0530 Subject: dts : Updated SRCREV for 2024.1_6971 versal: Add support for the SE variant of xcvp1002 versal: Add support for the SE variant of xcvm2152 versal: Add support for xcvm2152 --- meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb index c4fc180e..8cded998 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb @@ -2,5 +2,5 @@ require qemu-devicetrees.inc BRANCH ?= "master" -SRCREV ?= "c54a1cfb7076aaf8abdfe50e89245b37cdb1c077" +SRCREV ?= "4aba28ff34f571185a4367d2a062d5453eba3159" -- cgit v1.2.3-54-g00ecf From ed1561113032960ef54387067cc7df8d40ae39e2 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Sun, 7 Apr 2024 06:02:07 +0530 Subject: dts : Updated SRCREV for 2024.1_2055 versal: Add support for xqvm1102, xqve2102, xqvp2502, xqvp1052 and xqve2302 versal: Add support for xave2602 and xave2802 versal: SE variants support --- meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb index 8cded998..0b9d14cb 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb @@ -2,5 +2,5 @@ require qemu-devicetrees.inc BRANCH ?= "master" -SRCREV ?= "4aba28ff34f571185a4367d2a062d5453eba3159" +SRCREV ?= "9d3ef6718542592cb677cbb625072e15290407f8" -- cgit v1.2.3-54-g00ecf From 3f2d2c64fb46492fe54b8f6bb7442dc462e5b069 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 8 Apr 2024 06:02:09 +0530 Subject: dts : Updated SRCREV for 2024.1_1751 vck190: Add 2g OSPI flash --- meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb index 0b9d14cb..2907bbf1 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb @@ -2,5 +2,5 @@ require qemu-devicetrees.inc BRANCH ?= "master" -SRCREV ?= "9d3ef6718542592cb677cbb625072e15290407f8" +SRCREV ?= "b9c88cbfaaa0c8b8be70ea3c74f4cb69fb02a080" -- cgit v1.2.3-54-g00ecf From eae40b3fffd9cf75956405b7e16629dcee68b6f0 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 8 Apr 2024 06:01:40 +0530 Subject: qemu : Updated SRCREV for 2024.1_2095 m25p80: Consider 4byte address for octal ddr mode --- meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc index ffaf3cdf..2733e01b 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc @@ -1,3 +1,3 @@ XILINX_QEMU_VERSION = "v8.1.0" BRANCH = "master" -SRCREV = "aa05b83770c0cd5a4f7fcbcef7efc806ae2abe9f" +SRCREV = "d522393f8bc2fdb39db7e7563942f571e8aaea7a" -- cgit v1.2.3-54-g00ecf From d43240bc686eed964a88b06d973f188f3eef5b4a Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 8 Apr 2024 06:18:13 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_5819 arm64: versal-net Add dcc node and dcc in aliases for versal-net-ipp-rev1.9.dts mtd: spi-nor: Remove SPI_NOR_OCTAL_READ flag soc: zynqmp: Add the IDcode for TEG variant zlib: Remove incorrect ZLIB_VERSION zlib: Port fix for CVE-2016-9841 to U-Boot zlib: Rename write variable to wnext (window write index) zlib: Rename this variable to here (current decoding table entry) configs: versal: Disable the config for spansion flash --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index b919b230..b4ac7998 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2024.01" UBRANCH = "xlnx_rebase_v2024.01" -SRCREV = "12c2fe646e7e98ba98334c75e082cc10faf0413d" +SRCREV = "a64b554a4a7e0c540dd4fbb69bcf765a88d7359f" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From 48e92abd6e78b45edab34f5502d2c4e3916ff580 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Thu, 4 Apr 2024 16:46:28 -0600 Subject: versal-generic.conf: Update QEMU_HW_DTB_PMC Update QEMU_HW_DTB_PMC to use board-versal-pmc-virt.dtb instead of board-versal-pmc-vc-p-a2197-00.dtb as board-versal-pmc-vc-p-a2197-00.dtb dtb targets tenzing board. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/machine/versal-generic.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/conf/machine/versal-generic.conf b/meta-xilinx-core/conf/machine/versal-generic.conf index f87dc140..04e9702f 100644 --- a/meta-xilinx-core/conf/machine/versal-generic.conf +++ b/meta-xilinx-core/conf/machine/versal-generic.conf @@ -84,7 +84,7 @@ QB_KERNEL_CMDLINE_APPEND ?= "" QEMU_HW_DTB_PATH = "${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch" QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-ps-vck190.dtb" -QEMU_HW_DTB_PMC = "${QEMU_HW_DTB_PATH}/board-versal-pmc-vc-p-a2197-00.dtb" +QEMU_HW_DTB_PMC = "${QEMU_HW_DTB_PATH}/board-versal-pmc-virt.dtb" QEMU_HW_DTB_PS_vp1202-versal = "${QEMU_HW_DTB_PATH}/board-versal-vp1202-ps-virt.dtb" QEMU_HW_DTB_PMC_vp1202-versal = "${QEMU_HW_DTB_PATH}/board-versal-vp1202-pmc-virt.dtb" -- cgit v1.2.3-54-g00ecf From 7063fa8d7e099fa2e9dc277a1b1985c481c05dc3 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Thu, 4 Apr 2024 16:46:29 -0600 Subject: versal-prime-generic: Fix QEMU PLM boot issue QEMU PLM error code are observed as shown below. [13422.262]**************************************** [13422.490]Xilinx Versal Platform Loader and Manager [13422.508]Release 2024.1 Mar 30 2024 - 14:13:53 [13422.562]Platform Version: v0.0 PMC: v0.0, PS: v0.0 [13422.588]BOOTMODE: 0x5, MULTIBOOT: 0xF0000000 [13422.608]**************************************** [13427.899]Non Secure Boot [13441.028]PLM Initialization Time [13441.090]***********Boot PDI Load: Started*********** [13441.191]Loading PDI from SD1 [13441.218]Monolithic/Master Device [14850.660]1409.510 ms: PDI initialization time [14850.719]+++Loading Image#: 0x1, Name: lpd, Id: 0x04210002 [14850.755]---Loading Partition#: 0x1, Id: 0xC [14892.625] 41.831 ms for Partition#: 0x1, Size: 11360 Bytes [14893.706]---Loading Partition#: 0x2, Id: 0x0 [14902.163] 7.679 ms for Partition#: 0x2, Size: 65104 Bytes PSM Firmware version: 2024.1 [Build: Mar 30 2024 14:13:53 ] [15013.595]+++Loading Image#: 0x2, Name: pl_cfi, Id: 0x18700000 [15014.589]---Loading Partition#: 0x3, Id: 0x3 [21947.779]Polling 0xF11A0000 Mask: 0xFFFFFFFF ExpectedValue: 0x14CAA093 [21949.039]MaskPoll: Addr: 0x0F11A0000, Mask: 0xFFFFFFFF, ExpVal: 0x14CAA093, Timeout: 1000000, RegVal: 0x14CA8093 ...ERROR [21951.067]CMD: 0x00040101 execute failed, Processed Cdo Length 0x84 [21952.260]CMD Payload START, Len:0x00000004 0x00000000F20000A8: 0xF11A0000 0xFFFFFFFF 0x14CAA093 0x00000001 0x00000000F20000B4: [21954.516]CMD Payload END [21955.035]Error loading PL data: CFU_ISR: 0x00000000, CFU_STATUS: 0x0000080C PMC ERR1: 0x00000000, PMC ERR2: 0x00000000 [21957.810]PLM Error Status: 0x21010001 [21958.489]============Register Dump============ [21959.269]PMC_TAP_IDCODE: 0x14CA8093 [21959.887]EFUSE_CACHE_IP_DISABLE_0(EXTENDED IDCODE): 0x00004000 [21960.901]PMC_TAP_VERSION: 0x03000000 [21961.516]CRP_BOOT_MODE_USER: 0x00000005 [21962.179]CRP_BOOT_MODE_POR: 0x00000005 [21962.823]CRP_RESET_REASON: 0x00000202 [21963.462]PMC_GLOBAL_PMC_MULTI_BOOT: 0xF0000000 [21964.242]PMC_GLOBAL_PWR_STATUS: 0x00000000 [21964.946]PMC_GLOBAL_PMC_GSW_ERR: 0x00000000 [21965.666]PMC_GLOBAL_PLM_ERR: 0x00000000 [21966.342]PMC_GLOBAL_PMC_ERR1_STATUS: 0x00000000 [21967.136]PMC_GLOBAL_PMC_ERR2_STATUS: 0x00000000 [21967.917]PMC_GLOBAL_GICP0_IRQ_STATUS: 0x20000000 [21968.713]PMC_GLOBAL_GICP1_IRQ_STATUS: 0x00000000 [21969.507]PMC_GLOBAL_GICP2_IRQ_STATUS: 0x00000000 [21970.307]PMC_GLOBAL_GICP3_IRQ_STATUS: 0x00000000 [21971.113]PMC_GLOBAL_GICP4_IRQ_STATUS: 0x00000000 [21971.921]PMC_GLOBAL_GICP_PMC_IRQ_STATUS: 0x00000000 [21972.767]============Register Dump============ This is due to default QEMU_HW_DTB_PS used from versal-generic.conf file doesn't work for VMK180 machine conf file. Fix QEMU PLM boot issue by setting the right QEMU_HW_DTB_PS to board-versal-ps-vmk180.dtb. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/machine/versal-prime-generic.conf | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-xilinx-core/conf/machine/versal-prime-generic.conf b/meta-xilinx-core/conf/machine/versal-prime-generic.conf index 94e9b05e..206f0e2a 100644 --- a/meta-xilinx-core/conf/machine/versal-prime-generic.conf +++ b/meta-xilinx-core/conf/machine/versal-prime-generic.conf @@ -6,6 +6,8 @@ require conf/machine/versal-generic.conf SOC_VARIANT = "prime" +QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-ps-vmk180.dtb" + #### No additional settings should be after the Postamble #### Postamble PACKAGE_EXTRA_ARCHS:append = "${@['', ' versal_prime_generic']['versal-prime-generic' != "${MACHINE}"]}" -- cgit v1.2.3-54-g00ecf From bc989ba4a8c21b7c60959335e47ed97fa3b1a9b3 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Thu, 4 Apr 2024 16:46:30 -0600 Subject: README.sdt.bsp.md: Add system device tree bsp README Add system device tree bsp README which provide BSP settings such as QEMU PMC/PMU DTB, QEMU PS DTB etc. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- .../README.sdt.bsp.md | 39 ++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 meta-xilinx-standalone-experimental/README.sdt.bsp.md diff --git a/meta-xilinx-standalone-experimental/README.sdt.bsp.md b/meta-xilinx-standalone-experimental/README.sdt.bsp.md new file mode 100644 index 00000000..d87550d3 --- /dev/null +++ b/meta-xilinx-standalone-experimental/README.sdt.bsp.md @@ -0,0 +1,39 @@ +# SDT BSP + +This section describes the SDT BSP settings which must be added to the generated +machine configuration file, following [Build Instructions](README.md) step 4, in +order to use the runqemu command. + +## SDT BSP settings + +The following board settings need to be added in sdt machine configuration file +to define which QEMU device trees should be used. + +> **Variable usage examples:** +> +> QEMU Device tree deploy directory: `QEMU_HW_DTB_PATH = "${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch"` +> +> QEMU PMU Device tree: `QEMU_HW_DTB_PMU = "${QEMU_HW_DTB_PATH}/zynqmp-pmu.dtb"` +> +> QEMU PMC Device tree: `QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-ps-vck190.dtb"` +> +> QEMU PS Board Device tree: `QEMU_HW_DTB_PMC = "${QEMU_HW_DTB_PATH}/board-versal-pmc-virt.dtb"` + +| Devices | Evaluation Board | QEMU PMC or PMU DTB file | QEMU PS DTB file | +|------------|-------------------------------------------------------------------------------|-----------------------------|-------------------------------| +| ZynqMP | [ZCU102](https://www.xilinx.com/products/boards-and-kits/ek-u1-zcu102-g.html) | `zynqmp-pmu.dtb` | `zcu102-arm.dtb` | +| | [ZCU104](https://www.xilinx.com/products/boards-and-kits/zcu104.html) | `zynqmp-pmu.dtb` | `zcu102-arm.dtb` | +| | [ZCU106](https://www.xilinx.com/products/boards-and-kits/zcu106.html) | `zynqmp-pmu.dtb` | `zcu102-arm.dtb` | +| | [ZCU111](https://www.xilinx.com/products/boards-and-kits/zcu111.html) | `zynqmp-pmu.dtb` | `zcu102-arm.dtb` | +| | [ZCU208](https://www.xilinx.com/products/boards-and-kits/zcu208.html) | `zynqmp-pmu.dtb` | `zcu102-arm.dtb` | +| | [ZCU216](https://www.xilinx.com/products/boards-and-kits/zcu216.html) | `zynqmp-pmu.dtb` | `zcu102-arm.dtb` | +| | [ZCU670](https://www.xilinx.com/products/boards-and-kits/zcu670.html) | `zynqmp-pmu.dtb` | `zcu102-arm.dtb` | +| Versal | [VCK190](https://www.xilinx.com/products/boards-and-kits/vck190.html) | `board-versal-pmc-virt.dtb` | `board-versal-ps-vck190.dtb` | +| | [VMK180](https://www.xilinx.com/products/boards-and-kits/vmk180.html) | `board-versal-pmc-virt.dtb` | `board-versal-ps-vmk180.dtb` | +| | [VPK120](https://www.xilinx.com/products/boards-and-kits/vpk120.html) | `board-versal-pmc-virt.dtb` | `board-versal-ps-vpk120.dtb` | +| | [VPK180](https://www.xilinx.com/products/boards-and-kits/vpk180.html) | `board-versal-pmc-virt.dtb` | `board-versal-ps-vpk180.dtb` | +| | [VEK280](https://www.xilinx.com/products/boards-and-kits/vek280.html) | `board-versal-pmc-virt.dtb` | `board-versal-ps-vek280.dtb` | +| | [VHK158](https://www.xilinx.com/products/boards-and-kits/vhk158.html) | `board-versal-pmc-virt.dtb` | `board-versal-ps-vhk158.dtb` | + +> **Note:** Additional information on Xilinx architectures can be found at: + https://www.xilinx.com/products/silicon-devices.html -- cgit v1.2.3-54-g00ecf From 5f12f5fde5a6f736182cc0cd4c1bc99d18107f42 Mon Sep 17 00:00:00 2001 From: Onkar Harsh Date: Sat, 6 Apr 2024 18:07:18 +0530 Subject: lopper: Update SRCREV for lopper The SRCREV update contains below commits: assists: generate_config_object: Enable user-driven customization of library options assists: generate_config_object: Addressed the scenario where, not all masters are reset masters lopper:assists:baremetallinker: Do not consider linear SPIs for memory tests lopper:assists:gen_domain_dts: Remove axi_noc and noc_ddr4 IPs from linux ignore list base: add expression to clock phandle description Signed-off-by: Onkar Harsh Signed-off-by: Mark Hatle --- .../virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend index 4a7085bc..e9a1191d 100644 --- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend @@ -1,5 +1,5 @@ SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=v0.2024.x;protocol=https" -SRCREV = "d67410d3b39847fb508f5a17e504a3242b2b33c1" +SRCREV = "326ea3bf2d689513ed0cf07a68a79a6845db057b" FILESEXTRAPATHS:prepend := "${THISDIR}/lopper:" -- cgit v1.2.3-54-g00ecf From 033b64ae5220a4dc50fc1464f6919ff936a47eb2 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Mon, 8 Apr 2024 13:44:29 -0600 Subject: versal-hbm-generic: Fix QEMU boot issue VHK158 SDT QEMU doesn't come up with PLM, this to default QEMU_HW_DTB_PS used from versal-generic.conf file doesn't work for VHK158 machine conf file. Fix QEMU PLM boot issue by setting the right QEMU_HW_DTB_PS to board-versal-ps-vmk158.dtb and also adjust the QB_MEM to 32GB as versal-vhk158-reva.dts has 32GB set, we need set same in QB_MEM for QEMU boot. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/machine/versal-hbm-generic.conf | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/meta-xilinx-core/conf/machine/versal-hbm-generic.conf b/meta-xilinx-core/conf/machine/versal-hbm-generic.conf index 23fffcb9..3e72da60 100644 --- a/meta-xilinx-core/conf/machine/versal-hbm-generic.conf +++ b/meta-xilinx-core/conf/machine/versal-hbm-generic.conf @@ -6,6 +6,12 @@ require conf/machine/versal-generic.conf SOC_VARIANT = "hbm" +# VHK158 has 32GB memory only but default versal-generic has QB_MEM set to 8G, +# Since versal-vhk158-reva.dts has 32GB set, we need set same in QB_MEM +QB_MEM = "-m 32G" + +QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-ps-vhk158.dtb" + #### No additional settings should be after the Postamble #### Postamble PACKAGE_EXTRA_ARCHS:append = "${@['', ' versal_hbm_generic']['versal-hbm-generic' != "${MACHINE}"]}" -- cgit v1.2.3-54-g00ecf From 2d98ceee2b3b66220f77bf18b92c24fe73843569 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Mon, 8 Apr 2024 15:51:16 -0600 Subject: README.sdt.bsp.md: Update README with QB_MEM info Update README with QB_MEM info to boot QEMU using SDT builds. Also fix typo in README. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- .../README.sdt.bsp.md | 41 +++++++++++++--------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/meta-xilinx-standalone-experimental/README.sdt.bsp.md b/meta-xilinx-standalone-experimental/README.sdt.bsp.md index d87550d3..2b2ce4b0 100644 --- a/meta-xilinx-standalone-experimental/README.sdt.bsp.md +++ b/meta-xilinx-standalone-experimental/README.sdt.bsp.md @@ -15,25 +15,32 @@ to define which QEMU device trees should be used. > > QEMU PMU Device tree: `QEMU_HW_DTB_PMU = "${QEMU_HW_DTB_PATH}/zynqmp-pmu.dtb"` > -> QEMU PMC Device tree: `QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-ps-vck190.dtb"` +> QEMU PS Device tree: `QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-ps-vck190.dtb"` > -> QEMU PS Board Device tree: `QEMU_HW_DTB_PMC = "${QEMU_HW_DTB_PATH}/board-versal-pmc-virt.dtb"` +> QEMU PMC Board Device tree: `QEMU_HW_DTB_PMC = "${QEMU_HW_DTB_PATH}/board-versal-pmc-virt.dtb"` +> +> QEMU Memory: Some boards for example VEK280 and VH158 memory configurations are +> different, Hence we need to adjust the same in QB_MEM to match board dtsi files. +> Below are some examples. +> * ZynqMP `QB_MEM = "-m 4096"` +> * Versal VEK280 `QB_MEM = "-m 12G"` + -| Devices | Evaluation Board | QEMU PMC or PMU DTB file | QEMU PS DTB file | -|------------|-------------------------------------------------------------------------------|-----------------------------|-------------------------------| -| ZynqMP | [ZCU102](https://www.xilinx.com/products/boards-and-kits/ek-u1-zcu102-g.html) | `zynqmp-pmu.dtb` | `zcu102-arm.dtb` | -| | [ZCU104](https://www.xilinx.com/products/boards-and-kits/zcu104.html) | `zynqmp-pmu.dtb` | `zcu102-arm.dtb` | -| | [ZCU106](https://www.xilinx.com/products/boards-and-kits/zcu106.html) | `zynqmp-pmu.dtb` | `zcu102-arm.dtb` | -| | [ZCU111](https://www.xilinx.com/products/boards-and-kits/zcu111.html) | `zynqmp-pmu.dtb` | `zcu102-arm.dtb` | -| | [ZCU208](https://www.xilinx.com/products/boards-and-kits/zcu208.html) | `zynqmp-pmu.dtb` | `zcu102-arm.dtb` | -| | [ZCU216](https://www.xilinx.com/products/boards-and-kits/zcu216.html) | `zynqmp-pmu.dtb` | `zcu102-arm.dtb` | -| | [ZCU670](https://www.xilinx.com/products/boards-and-kits/zcu670.html) | `zynqmp-pmu.dtb` | `zcu102-arm.dtb` | -| Versal | [VCK190](https://www.xilinx.com/products/boards-and-kits/vck190.html) | `board-versal-pmc-virt.dtb` | `board-versal-ps-vck190.dtb` | -| | [VMK180](https://www.xilinx.com/products/boards-and-kits/vmk180.html) | `board-versal-pmc-virt.dtb` | `board-versal-ps-vmk180.dtb` | -| | [VPK120](https://www.xilinx.com/products/boards-and-kits/vpk120.html) | `board-versal-pmc-virt.dtb` | `board-versal-ps-vpk120.dtb` | -| | [VPK180](https://www.xilinx.com/products/boards-and-kits/vpk180.html) | `board-versal-pmc-virt.dtb` | `board-versal-ps-vpk180.dtb` | -| | [VEK280](https://www.xilinx.com/products/boards-and-kits/vek280.html) | `board-versal-pmc-virt.dtb` | `board-versal-ps-vek280.dtb` | -| | [VHK158](https://www.xilinx.com/products/boards-and-kits/vhk158.html) | `board-versal-pmc-virt.dtb` | `board-versal-ps-vhk158.dtb` | +| Devices | Evaluation Board | QEMU PMC or PMU DTB file | QEMU PS DTB file | QB Mem | +|---------|-------------------------------------------------------------------------------|-----------------------------|-------------------------------|--------| +| ZynqMP | [ZCU102](https://www.xilinx.com/products/boards-and-kits/ek-u1-zcu102-g.html) | `zynqmp-pmu.dtb` | `zcu102-arm.dtb` | 4096 | +| | [ZCU104](https://www.xilinx.com/products/boards-and-kits/zcu104.html) | `zynqmp-pmu.dtb` | `zcu102-arm.dtb` | 4096 | +| | [ZCU106](https://www.xilinx.com/products/boards-and-kits/zcu106.html) | `zynqmp-pmu.dtb` | `zcu102-arm.dtb` | 4096 | +| | [ZCU111](https://www.xilinx.com/products/boards-and-kits/zcu111.html) | `zynqmp-pmu.dtb` | `zcu102-arm.dtb` | 4096 | +| | [ZCU208](https://www.xilinx.com/products/boards-and-kits/zcu208.html) | `zynqmp-pmu.dtb` | `zcu102-arm.dtb` | 4096 | +| | [ZCU216](https://www.xilinx.com/products/boards-and-kits/zcu216.html) | `zynqmp-pmu.dtb` | `zcu102-arm.dtb` | 4096 | +| | [ZCU670](https://www.xilinx.com/products/boards-and-kits/zcu670.html) | `zynqmp-pmu.dtb` | `zcu102-arm.dtb` | 4096 | +| Versal | [VCK190](https://www.xilinx.com/products/boards-and-kits/vck190.html) | `board-versal-pmc-virt.dtb` | `board-versal-ps-vck190.dtb` | 8G | +| | [VMK180](https://www.xilinx.com/products/boards-and-kits/vmk180.html) | `board-versal-pmc-virt.dtb` | `board-versal-ps-vmk180.dtb` | 8G | +| | [VPK120](https://www.xilinx.com/products/boards-and-kits/vpk120.html) | `board-versal-pmc-virt.dtb` | `board-versal-ps-vpk120.dtb` | 8G | +| | [VPK180](https://www.xilinx.com/products/boards-and-kits/vpk180.html) | `board-versal-pmc-virt.dtb` | `board-versal-ps-vpk180.dtb` | 8G | +| | [VEK280](https://www.xilinx.com/products/boards-and-kits/vek280.html) | `board-versal-pmc-virt.dtb` | `board-versal-ps-vek280.dtb` | 12G | +| | [VHK158](https://www.xilinx.com/products/boards-and-kits/vhk158.html) | `board-versal-pmc-virt.dtb` | `board-versal-ps-vhk158.dtb` | 32G | > **Note:** Additional information on Xilinx architectures can be found at: https://www.xilinx.com/products/silicon-devices.html -- cgit v1.2.3-54-g00ecf From 54a1ee1b26975e53ef406ec57daf6187abc5f496 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Mon, 8 Apr 2024 13:44:31 -0600 Subject: versal-ai-edge-generic: Fix QEMU boot issue VEK280 SDT QEMU doesn't come up with PLM, this to default QEMU_HW_DTB_PS used from versal-generic.conf file doesn't work for VEK280 machine conf file. Fix QEMU PLM boot issue by setting the right QEMU_HW_DTB_PS to board-versal-ps-vek280.dtb and also adjust the QB_MEM to 12GB to match with board dtsi file, we need set same in QB_MEM for QEMU boot. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- meta-xilinx-core/conf/machine/versal-ai-edge-generic.conf | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/meta-xilinx-core/conf/machine/versal-ai-edge-generic.conf b/meta-xilinx-core/conf/machine/versal-ai-edge-generic.conf index bf5523ed..1028ac04 100644 --- a/meta-xilinx-core/conf/machine/versal-ai-edge-generic.conf +++ b/meta-xilinx-core/conf/machine/versal-ai-edge-generic.conf @@ -6,6 +6,12 @@ require conf/machine/versal-generic.conf SOC_VARIANT = "ai-edge" +# VEK280 board has 12GB memory only but default versal-generic has QB_MEM set to +# 8G, Hence we need set 12G in QB_MEM. +QB_MEM = "-m 12G" + +QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-ps-vek280.dtb" + #### No additional settings should be after the Postamble #### Postamble PACKAGE_EXTRA_ARCHS:append = "${@['', ' versal_ai_edge_generic']['versal-ai-edge-generic' != "${MACHINE}"]}" -- cgit v1.2.3-54-g00ecf From e93a9e6f7e731953c5c576d86010f4ec1b89ae07 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 10 Apr 2024 06:14:40 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_8591 Updated sysmonpsv to 4.2 Revert "sysmonpsv: Added SSIT Support" BSP: riscv: Fix FPU context handling in trap handler vphy: Added support for DP2.1 sw_services:xilocp:Fix review comments for XOcp_DmeXppuConfig sw_services:xilloader:Fixed doxygen comments format TPG: Addition of bool library in header file bsp: cortexr52: Use PMU as default timer for Cortex-R52 sw_services: xilplmi: Fix MISRA-C violation 8.6 sw_services: xilplmi: Fix MISRA-C violation 2.2 sw_services: xilplmi: Fix MISRA-C violation 17.8 sw_services: xilplmi: Fix MISRA-C violation 10.3 mipicsiss: example: update GPIO address. sw_apps: zynqmp_pmufw: Correct typo for SOM specific macro dp21: Fix linking issues in C++ dp14: Fix linking issues in C++ dp12: Fix linking issues in C++ rfdc: NCO Frequency xilplmi: added CDO debug prints intc: Fix xintc_low_level_example for HW designs with fast interrupts --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 17e26446..74de7ea6 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -13,7 +13,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "e847e1935dca630615e5f7dc694365a44b89699c" -ESW_REV[2024.1] = "827c36863db8e94c1b46e1f40fbc636467913589" +ESW_REV[2024.1] = "18910bd57542d5b3cdc04e4442e565e065685e88" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or 'INVALID'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From c01790e541f5fa37c8053bafff08a1805358753b Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 10 Apr 2024 06:21:41 +0530 Subject: aie-rt : Updated SRCREV for 2024.1_2471 driver:src:Softpartition boundary Isolation fixed --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index d6ca7942..a59ef469 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "main-aie" -SRCREV ?= "79a3171f7748b4cea2742495c22133f359b35cb5" +SRCREV ?= "c41476c833034259eb760d2a2f7c7118a5be727d" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From 4ea7a9cf93c7345c316babfbbbedb5740bddea88 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 10 Apr 2024 06:17:56 +0530 Subject: linux-xlnx : Updated SRCREV for 2024.1_9495 net: axienet: Correct tx_buff size when DRE is not enabled clk: clocking-wizard: calculate dividers fractional parts v4l: xilinx: dprxss: Fix xhdcp1x_rx_init() function declaration v4l: xilinx: dprxss: Fix gcc warning staging: xilinx_hdcp: Fix gcc warning mtd: spi-nor: Use same bit mask macro in spi & spi-nor core Revert "drivers: clk: zynqmp: add hack to use old algorithm for divider round rate" fpga: Fix the reset handling remoteproc: zynqmp_r5: Clean up support for Versal NET CTCM mtd: spi-nor: Add support for BP3 at SR bit 5 mtd: spi-nor: Use params->size for flash size info mtd: spi-nor: Avoid writing EAR register for flashes less than 16MB mtd: spi-nor: Use nor->info->id[0] for manufacturer id --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index 8f65469a..6042293b 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.6.10" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.6;destsuffix=yocto-kmeta" KBRANCH="xlnx_rebase_v6.6_LTS" -SRCREV = "dcac89c7c78a556240e07ac3c6c568dd5be90ef3" +SRCREV = "847d102ca8f60e9f5cd17c685ecb525e6373ca6b" SRCREV_meta = "5d0809d0d939c7738cb6e5391126c73fd0e4e865" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From ee20318ad55fcf09e17432160dfe3bc11ffd67f1 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 10 Apr 2024 15:53:35 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_3975 zynqmp_pmufw: Update FPGA config reg status to use local buf dp21txss: Add support for octa pixel mode dp21txss: Add support for OctaPixel Mode dp21rxss: Add support for OctaPixel Mode dp21: Add support for octa pixel mode dp21: Add support for OctaPixel Mode dp21: Fix C++ warnings dp14: Fix C++ warnings sw_services:xilocp:Fix issue for getting swpcr data sw_services:xilocp: Clear memory buffer after calculating PCR xilplmi: Correct configuration read format for VP1902 device. xilsem: Correct configuration read format for VP1902. i2s: Fix C++ compilation errors sw_services: xilcert: Fixed calculation of hash in serial field xilsecure: fixed header inclusion in SDT flow dfeofdm: Update hw version emacps: Fix HwTail check in XEmacPs_BdRingFromHwRX sw_services:xilnvm:Update validation check during additional PPK programming BSP: riscv: Fix instruction cache APIs dfeprach: Update device node name usbpsu: Add doxygen and editorial fixes sw_services: xilpm: Remove usage of GSW ERROR register in BISR code esw: In SDT flow for the Microblaze processor, include libgloss in the link libraries by default sw_services:xilskey:Add description for XILSKEY_PUF_KEK_REGEN_RDY_TIMEOUT xilpm: versal_common: server: Remove PGGS2 and PGGS3 related code --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 74de7ea6..f959b382 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -13,7 +13,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "e847e1935dca630615e5f7dc694365a44b89699c" -ESW_REV[2024.1] = "18910bd57542d5b3cdc04e4442e565e065685e88" +ESW_REV[2024.1] = "22ca729a1838c0151454948fc99d200351639415" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or 'INVALID'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 0e407c67d5138ba82c44b020704d2d17c663f03b Mon Sep 17 00:00:00 2001 From: Ben Levinsky Date: Mon, 8 Apr 2024 15:45:22 -0700 Subject: lopper: srcrev update openamp: xlnx: versal: match model parsing same as VNET Signed-off-by: Ben Levinsky Signed-off-by: Mark Hatle --- .../virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend index e9a1191d..9414650a 100644 --- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend @@ -1,5 +1,5 @@ SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=v0.2024.x;protocol=https" -SRCREV = "326ea3bf2d689513ed0cf07a68a79a6845db057b" +SRCREV = "4672dd2c63660b327970cb6e0c3b20169e73e04b" FILESEXTRAPATHS:prepend := "${THISDIR}/lopper:" -- cgit v1.2.3-54-g00ecf From c9be64c685255f502438c2e134cb7377070935f6 Mon Sep 17 00:00:00 2001 From: saumya garg Date: Wed, 10 Apr 2024 15:00:44 +0530 Subject: xrt, zocl: Update commit id Changelog: Cleanup clangtidy warnings (#8057) Providing a work-around to allocate instruction buffer in HIP (#8047) SC warning fix on RAVE and xsabin extension warning fix on Versal (#8053) aie-status reports fix (#8051) VITIS-11503 - Dump instruction bo created from Elf so verification can be done (#8043) VITIS-11503 - change elf section name from mc_code to control-packet (#8054) Defining Mailbox Macro for QDMA to fix APU crash on RAVE (#8052) revert sdr changes (#8049) ML Timeline Plugin should read timestamp data before AIE Profile/Debug (#8045) Signed-off-by: saumya garg Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-xrt/xrt/xrt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc index 5c24ffa6..f3313631 100644 --- a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc @@ -3,7 +3,7 @@ BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != ' SRC_URI = "${REPO};${BRANCHARG};name=xrt" BRANCH= "master" -SRCREV_xrt = "34ceebc40b326aae408f8dc523c785db796e0483" +SRCREV_xrt = "58cba71cf60f1de1f935a32f0b739d568390b95d" PV = "202320.2.17.0" SRC_URI += "git://github.com/Xilinx/dma_ip_drivers.git;branch=master;name=dma_ip_drivers;destsuffix=git/src/runtime_src/core/pcie/driver/linux/xocl/lib/libqdma;protocol=https" -- cgit v1.2.3-54-g00ecf From 4781790929b112ee58bfd8506ac80b81ef479108 Mon Sep 17 00:00:00 2001 From: Ben Levinsky Date: Wed, 10 Apr 2024 08:02:45 -0700 Subject: lopper: update SRCREV 30bed2b openamp: xlnx: Add vc-p and vn-p models Signed-off-by: Ben Levinsky Signed-off-by: Mark Hatle --- .../virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend index 9414650a..b8da828d 100644 --- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend @@ -1,5 +1,5 @@ SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=v0.2024.x;protocol=https" -SRCREV = "4672dd2c63660b327970cb6e0c3b20169e73e04b" +SRCREV = "30bed2bbebeae4c190a74a5d6f26f43a62135041" FILESEXTRAPATHS:prepend := "${THISDIR}/lopper:" -- cgit v1.2.3-54-g00ecf From 6bcadaed7bc65de94d2579379a7101723e43208f Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Wed, 10 Apr 2024 17:01:53 -0500 Subject: Switch from master to xlnx_rel_v2024.1 branch Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-apps/image-update/image-update_1.1.bb | 2 +- meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb | 2 +- meta-xilinx-core/recipes-bsp/libdfx/libdfx_2024.1.bb | 2 +- meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb | 2 +- meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc | 2 +- meta-xilinx-core/recipes-graphics/libgles/libmali-xlnx.bb | 2 +- meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2024.1.bb | 2 +- meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2024.1.bb | 2 +- meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb | 2 +- meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb | 2 +- meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb | 2 +- meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb | 2 +- meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb | 2 +- meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb | 2 +- meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb | 2 +- meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb | 2 +- 16 files changed, 16 insertions(+), 16 deletions(-) diff --git a/meta-xilinx-core/recipes-apps/image-update/image-update_1.1.bb b/meta-xilinx-core/recipes-apps/image-update/image-update_1.1.bb index f7e18273..1f1d0606 100644 --- a/meta-xilinx-core/recipes-apps/image-update/image-update_1.1.bb +++ b/meta-xilinx-core/recipes-apps/image-update/image-update_1.1.bb @@ -6,7 +6,7 @@ SUMMARY = "Image update is used to update alternate image on compatible firmware LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${WORKDIR}/git/LICENSES/MIT;md5=2ac09a7a37dd6ee0ba23ce497d57d09b" -BRANCH = "master" +BRANCH = "xlnx_rel_v2024.1" SRC_URI = "git://github.com/Xilinx/linux-image_update.git;branch=${BRANCH};protocol=https" SRCREV = "a68308f329578d3585fd335071a9184aa7f46d2e" diff --git a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb index b0acf0ef..28f997f2 100644 --- a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb +++ b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_2024.1.bb @@ -8,7 +8,7 @@ REPO ?= "git://github.com/Xilinx/dfx-mgr.git;protocol=https" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" -BRANCH = "master" +BRANCH = "xlnx_rel_v2024.1" SRCREV = "ec70363a2a878737057995f922a9460d18aafa26" SOMAJOR = "1" SOMINOR = "0" diff --git a/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2024.1.bb b/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2024.1.bb index 0cbcaac7..42e67ce6 100644 --- a/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2024.1.bb +++ b/meta-xilinx-core/recipes-bsp/libdfx/libdfx_2024.1.bb @@ -4,7 +4,7 @@ DESCRIPTION = "Xilinx libdfx Library and headers" LICENSE = "MIT & GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://LICENSE.md;md5=94aba86aec117f003b958a52f019f1a7" -BRANCH ?= "master" +BRANCH ?= "xlnx_rel_v2024.1" REPO ?= "git://github.com/Xilinx/libdfx.git;protocol=https" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb index 2907bbf1..d10504d3 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2024.1.bb @@ -1,6 +1,6 @@ require qemu-devicetrees.inc -BRANCH ?= "master" +BRANCH ?= "xlnx_rel_v2024.1" SRCREV ?= "b9c88cbfaaa0c8b8be70ea3c74f4cb69fb02a080" diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc index 2733e01b..306006f2 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc @@ -1,3 +1,3 @@ XILINX_QEMU_VERSION = "v8.1.0" -BRANCH = "master" +BRANCH = "xlnx_rel_v2024.1" SRCREV = "d522393f8bc2fdb39db7e7563942f571e8aaea7a" diff --git a/meta-xilinx-core/recipes-graphics/libgles/libmali-xlnx.bb b/meta-xilinx-core/recipes-graphics/libgles/libmali-xlnx.bb index db99c4d7..82c411a2 100644 --- a/meta-xilinx-core/recipes-graphics/libgles/libmali-xlnx.bb +++ b/meta-xilinx-core/recipes-graphics/libgles/libmali-xlnx.bb @@ -13,7 +13,7 @@ PROVIDES += "virtual/libgles1 virtual/libgles2 virtual/egl virtual/libgbm" FILESEXTRAPATHS:prepend := "${THISDIR}/files:" REPO ?= "git://github.com/Xilinx/mali-userspace-binaries.git;protocol=https" -BRANCH ?= "xlnx_rel_v2023.2" +BRANCH ?= "xlnx_rel_v2024.1" SRCREV ?= "b3a772aad859cdadc8513b11c3e995546c20e75e" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" diff --git a/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2024.1.bb b/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2024.1.bb index 17039abb..503cee02 100644 --- a/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2024.1.bb @@ -9,7 +9,7 @@ PV = "${XLNX_DP_VERSION}+xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', Fal S = "${WORKDIR}/git" -BRANCH ?= "master" +BRANCH ?= "xlnx_rel_v2024.1" REPO ?= "git://github.com/xilinx/dp-modules.git;protocol=https" SRCREV ?= "e20942b256e6fb18eaef919c7441f65ad8afcf43" diff --git a/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2024.1.bb b/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2024.1.bb index 9757ae4b..73a22d30 100644 --- a/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2024.1.bb @@ -9,7 +9,7 @@ PV = "${XLNX_HDMI_VERSION}+xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', F S = "${WORKDIR}/git" -BRANCH ?= "master" +BRANCH ?= "xlnx_rel_v2024.1" REPO ?= "git://github.com/Xilinx/hdmi-modules.git;protocol=https" SRCREV = "edd297762e0bac3f4c5b64ef67244968e22020e2" diff --git a/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb index be8f6075..f474595c 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb @@ -11,7 +11,7 @@ S = "${WORKDIR}/git" FILESEXTRAPATHS:prepend := "${THISDIR}/files:" -BRANCH = "master" +BRANCH = "xlnx_rel_v2024.1" REPO = "git://github.com/Xilinx/vcu-modules.git;protocol=https" SRCREV = "91d19a16308a438596138d30d8174e148fc45584" diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb index bff19a9c..14226aa7 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2024.1.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.md;md5=002a0a92906100955ea6ed02dcd2c2cd" XILINX_VCU_VERSION = "1.0.0" PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" -BRANCH ?= "master" +BRANCH ?= "xlnx_rel_v2024.1" REPO ?= "git://github.com/Xilinx/vcu-omx-il.git;protocol=https" SRCREV = "dc34204543b89997577bd2c9757b3c218e6caccc" diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb index 8c3df7db..e3f656b0 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2024.1.bb @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.md;md5=002a0a92906100955ea6ed02dcd2c2cd" XILINX_VCU_VERSION = "1.0.0" PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}" -BRANCH ?= "master" +BRANCH ?= "xlnx_rel_v2024.1" REPO ?= "git://github.com/Xilinx/vcu-ctrl-sw.git;protocol=https" SRCREV = "940f9fa933402de6f959911c236f36add5dd3a40" diff --git a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb index 69c4d7ef..6ecdc4af 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2024.1.bb @@ -8,7 +8,7 @@ PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', S = "${WORKDIR}/git" -BRANCH ?= "master" +BRANCH ?= "xlnx_rel_v2024.1" REPO ?= "git://github.com/Xilinx/vcu-firmware.git;protocol=https" SRCREV = "6ee1998c53817ab0c137b8b99089337d5caba62c" diff --git a/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb index ccbe77a8..84f9cc2a 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb @@ -11,7 +11,7 @@ PV .= "+git${SRCPV}" S = "${WORKDIR}/git" FILESEXTRAPATHS:prepend := "${THISDIR}/files:" -BRANCH ?= "master" +BRANCH ?= "xlnx_rel_v2024.1" REPO ?= "git://github.com/Xilinx/vdu-modules.git;protocol=https" SRCREV ?= "25773344ce1e539e7136c5a30cdee98a6cf490a8" diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb index 5186d4fc..3acbf3ef 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb @@ -11,7 +11,7 @@ inherit autotools features_check REQUIRED_MACHINE_FEATURES = "vdu" -BRANCH ?= "master" +BRANCH ?= "xlnx_rel_v2024.1" REPO ?= "git://github.com/Xilinx/vdu-ctrl-sw.git;protocol=https" SRCREV ?= "7af131e0780d52ebc7bd6173bf1b99fec4dc522f" diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb index 91b2a150..5ba604f8 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2024.1.bb @@ -7,7 +7,7 @@ XILINX_VDU_VERSION = "1.0.0" PV =. "${XILINX_VDU_VERSION}-xilinx-v" PV .= "+git${SRCPV}" -BRANCH ?= "master" +BRANCH ?= "xlnx_rel_v2024.1" REPO ?= "git://github.com/Xilinx/vdu-omx-il.git;protocol=https" SRCREV ?= "af9c6e8935799f4dcd579b0164dd05eb039b569d" diff --git a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb index 147a80b6..193ea3a5 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/vdu-firmware_2024.1.bb @@ -13,7 +13,7 @@ inherit autotools features_check REQUIRED_MACHINE_FEATURES = "vdu" -BRANCH ?= "master" +BRANCH ?= "xlnx_rel_v2024.1" REPO ?= "git://github.com/Xilinx/vdu-firmware.git;protocol=https" SRCREV ?= "724de80630edcb87d865d69f1a6c0dc61c3f9f12" -- cgit v1.2.3-54-g00ecf From 5eb1dcbaa522632f40900972154f9afbb0c5b3d3 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Wed, 10 Apr 2024 17:28:36 -0500 Subject: openamp-layer: Move from 2024 to xlnx_rel_v2024.1 Signed-off-by: Mark Hatle --- .../openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb | 2 +- .../openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb index ca447615..b33d5064 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/libmetal/libmetal-xlnx_v2024.1.bb @@ -1,6 +1,6 @@ SRCBRANCH ?= "2024" SRCREV = "e2fdb4fecbebe41b4cd1c0b4fbfa3496bcded485" -BRANCH = "2024" +BRANCH = "xlnx_rel_v2024.1" LIC_FILES_CHKSUM ?= "file://LICENSE.md;md5=f4d5df0f12dcea1b1a0124219c0dbab4" PV = "${SRCBRANCH}+git${SRCPV}" diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb index b19531d8..bf779ff5 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb @@ -1,6 +1,6 @@ SRCBRANCH ?= "2024" SRCREV = "7d39410ad2172be9f339c4ce565ed765ddd8c5c8" -BRANCH = "2024" +BRANCH = "xlnx_rel_v2024.1" LIC_FILES_CHKSUM ?= "file://LICENSE.md;md5=ab88daf995c0bd0071c2e1e55f3d3505" PV = "${SRCBRANCH}+git${SRCPV}" REPO = "git://github.com/Xilinx/open-amp.git;protocol=https" -- cgit v1.2.3-54-g00ecf From f49b919f82576e6460ffec92621705700bc9cec6 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 12 Apr 2024 06:01:42 +0530 Subject: qemu : Updated SRCREV for 2024.1_4679 fdt_generic_devices: Add phy aliases arm_generic_fdt: Create ethernet phy in postinit fdt_generic_util: Add a postinit call back --- meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc index 306006f2..d48350b2 100644 --- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc +++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2024.1.inc @@ -1,3 +1,3 @@ XILINX_QEMU_VERSION = "v8.1.0" BRANCH = "xlnx_rel_v2024.1" -SRCREV = "d522393f8bc2fdb39db7e7563942f571e8aaea7a" +SRCREV = "2319c870e754148ec3b9d40be0d3dbee959c3251" -- cgit v1.2.3-54-g00ecf From 6db7ce3f5fa5eac54a6ff563cd69b1293c701491 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 12 Apr 2024 18:29:00 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_8603 xilpm: versal_common: server: Add error message for PSM-PLM version conflict lib: sw_services: versal_common: Add check for the IPI permission access in feature check API lwip : Add lwip_dhcp_does_acd_check sw_services:xilnvm:versalnet:Fix for MISRA-C Rule 8.3 sw_services:xilnvm:versalnet:Fix for coverity warning sw_services:xilnvm:versalnet:Fix MISRA-C Rule 12.1 XilSkey: efuse status bits of ultrascale devices srec_bootloader: Fix compilation error on Microblaze RISC-V xilpm: versal: server: Skip NoC clock gating consideration during the boot uartns550: Fix compilation warning of interrupt example dp14txss:zcu102_pt_hdcp: Modified applicaiton to continue without hdcp incase of wrong password entered during fetching keys from EEPROM. --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index f959b382..388855cc 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -13,7 +13,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "e847e1935dca630615e5f7dc694365a44b89699c" -ESW_REV[2024.1] = "22ca729a1838c0151454948fc99d200351639415" +ESW_REV[2024.1] = "21678feea6c535657988b9cede10270f8bdf3695" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or 'INVALID'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 9451b262ab17ffd1a42260fe51ae4d38a62d7d6c Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 15 Apr 2024 06:18:29 +0530 Subject: linux-xlnx : Updated SRCREV for 2024.1_8411 microblaze: Change TLB mapping and free space allocation arm64: versal-net Add dcc node and dcc in aliases for versal-net-ipp-rev1.9.dts arm64: zynqmp: Disable Tri-state for SDIO arm64: dts: zynqmp: make hw-ecc as the default ecc mode mailbox: zynqmp: Enable Bufferless IPI usage on Versal-based SOCs mailbox: zynqmp: Move buffered IPI setup to of_match selected routine mailbox: zynqmp: Move of_match structure closer to usage phy: xilinx-xhdmiphy: Configure retimer at FRL training linerate video/hdmi: Add support for version 3 AVI Infoframe phy: xilinx-xhdmiphy: Configure HDMIPHY in TMDS mode drm: xlnx: hdmi: Set wait event flag for TMDS mode drm: xlnx: hdmi: Fix TMDS clock calculation for RGB YUV422 YUV444 formats phy: xilinx-xhdmiphy: Add pll-selection allowed range of values for GTYP/GTYE5 drm: xlnx: hdmi: Fix overwriting the max_frl_rate variable drm: xlnx: hdmi: Downgrade the FRL rate when sink requests drm: xlnx: hdmi: Fix lts2 state machine drm: xlnx: hdmi: Implement xlnx_hdmi_frl_config function drm: xlnx: hdmi: Implement streamdown callback function drm: xlnx: hdmi: Add support for all FRL line rates drm: xlnx: hdmi: Implement streamup callback function drm: xlnx: hdmi: Implement connect callback function drm: xlnx: hdmi: Set wait event flag in ltsp state drm: xlnx: hdmi: Fix FRL link and video clock values drm: xlnx: hdmi: Fix VTC macros as per the IP specification phy: xilinx-xhdmiphy: Fix MMCM parameter values for GTYE5/GTYP drm: xlnx: hdmi: Optimize phy configuration function calls firmware: xilinx: Dont send linux address to get fpga config get status --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index 6042293b..3008a572 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.6.10" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.6;destsuffix=yocto-kmeta" KBRANCH="xlnx_rebase_v6.6_LTS" -SRCREV = "847d102ca8f60e9f5cd17c685ecb525e6373ca6b" +SRCREV = "73608e3d7f39dc2b44a1d3c135dec85bcb1b67f0" SRCREV_meta = "5d0809d0d939c7738cb6e5391126c73fd0e4e865" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From 0b97d86d11f3defc08e23bfb09a9651bd5f25f76 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 15 Apr 2024 20:12:35 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_4703 update Embedded SW license 2024.1 release sw_services: xilfpga: Add doxygen fixes sysmonpsu: Add Xiltimer to CMakeLists scripts: pyesw: Enable user-driven customization of library options for xilpm trngpsv: Update trngpsv minor version trngpsx: Update trngpsx minor version sw_services: xilsecure: Update minor version number to 24.1 sw_services:xilocp: Fix DME failure sysmonpsv: Handle Secondary SLRs sw_services:xilsecure:Fix Branch Past initialization sw_services:xilsecure:Fix MISRA-C Rule 17.7 sw_services:xilsecure:Fix MISRA-C Rule 10.3 sw_services:xilsecure:Fix overrun issue sw_services: xilpm: Enable the capability to adjust bsp config flags in the Rigel flow freertos10_xilinx: Fix portPOINTER_SIZE_TYPE value for Cortex A78 scripts: pyesw: retarget_app: Add support for shared workspace use case xilpm: versal_common: server: Add a macro to exclude USB idle code bsp: Add macro to disable long values print support as needed dp12txss: examples: Fix IIC Baseaddress for new unified version dp12rxss: examples: Fix IIC Baseaddress for new unified version xilpm: versal: NoC ScanClear workaround for xcvm2152 --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 388855cc..9271bb5f 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -13,7 +13,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "e847e1935dca630615e5f7dc694365a44b89699c" -ESW_REV[2024.1] = "21678feea6c535657988b9cede10270f8bdf3695" +ESW_REV[2024.1] = "86b2c5e38d51a98e6559799a2f25dc8c72535797" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or 'INVALID'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" @@ -23,7 +23,7 @@ LICENSE = "MIT" LIC_FILES_CHKSUM[master] = '9fceecdbcad88698f265578f3d4cb26c' LIC_FILES_CHKSUM[xlnx_rel_v2023.1_update] = '3c310a3ee2197a4c92c6a0e2937c207c' LIC_FILES_CHKSUM[xlnx_rel_v2023.2_update] = '9fceecdbcad88698f265578f3d4cb26c' -LIC_FILES_CHKSUM[xlnx_rel_v2024.1-next] = '9fceecdbcad88698f265578f3d4cb26c' +LIC_FILES_CHKSUM[xlnx_rel_v2024.1-next] = '443113d5aa8fd5facf31e9c5d25dc114' LIC_FILES_CHKSUM ??= "file://license.txt;md5=${@d.getVarFlag('LIC_FILES_CHKSUM', d.getVar('BRANCH')) or '0'}" SRC_URI = "${EMBEDDEDSW_SRCURI}" -- cgit v1.2.3-54-g00ecf From 54d17cdc88be2820e99081d036c09b20240c1733 Mon Sep 17 00:00:00 2001 From: saumya garg Date: Fri, 12 Apr 2024 13:44:04 +0530 Subject: xrt, zocl: change commit id Changelog: Fix to handle input_ports_details and output_ports_details Interface tiles metric for PLIO designs (#8064) Changing a copy to a move for when profiling samples are written (#8065) VITIS-11806 Command-chaining: XRT C++ Command List (#8063) VITIS-11832 - Support transaction buffer patching in XRT (#8059) fix printing logs on windows (#8062) using the correct workspace path for windows (#8061) Signed-off-by: saumya garg Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-xrt/xrt/xrt.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc index f3313631..b301830f 100644 --- a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc @@ -3,8 +3,8 @@ BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != ' SRC_URI = "${REPO};${BRANCHARG};name=xrt" BRANCH= "master" -SRCREV_xrt = "58cba71cf60f1de1f935a32f0b739d568390b95d" -PV = "202320.2.17.0" +SRCREV_xrt = "baf88820fb3fc24dda4dc08c91ecbca2c76c7b0f" +PV = "202410.2.17.0" SRC_URI += "git://github.com/Xilinx/dma_ip_drivers.git;branch=master;name=dma_ip_drivers;destsuffix=git/src/runtime_src/core/pcie/driver/linux/xocl/lib/libqdma;protocol=https" SRCREV_dma_ip_drivers = "9f02769a2eddde008158c96efa39d7edb6512578" -- cgit v1.2.3-54-g00ecf From 1bb654f7de3d7a5cb061698d74ffd97b715dc1c5 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 16 Apr 2024 13:17:23 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_7987 v_hdmitxss: TxOnly: Fix compilation error with Txonly design v_hdmirxss: RxOnly: Fix compilation error with Rxonly design --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 9271bb5f..5515c117 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -13,7 +13,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "e847e1935dca630615e5f7dc694365a44b89699c" -ESW_REV[2024.1] = "86b2c5e38d51a98e6559799a2f25dc8c72535797" +ESW_REV[2024.1] = "7a83d27befe888ee4efc1ad90fb22a884eef6700" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or 'INVALID'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From d2be424e5da169aa2ca80b51618ba9ee5cfc7328 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Mon, 15 Apr 2024 21:26:10 -0500 Subject: aie-rt: Move to xlnx_rel_v2024.1 branch Changelog: driver: src: io_backend: Request tiles before gating clocks Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index a59ef469..577ac963 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -2,8 +2,8 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" -BRANCH ?= "main-aie" -SRCREV ?= "c41476c833034259eb760d2a2f7c7118a5be727d" +BRANCH ?= "xlnx_rel_v2024.1" +SRCREV ?= "d864f8eb4c509393696cf564bee11086744efcdb" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From 50d24d3685481af8af7d2e3e582bf188c9e6ed4c Mon Sep 17 00:00:00 2001 From: Virendra Nakaskar Date: Mon, 15 Apr 2024 02:14:14 -0700 Subject: Fixed: Warnings related to QA issue: obsolete licenses GPLv2 [obsolete-license] Removed Warning related obsolete licenses GPLv2 WARNING: kernel-module-vdu-1.0.0-xilinx-v2024.1+gitAUTOINC+25773344ce-r0 do_package_qa: QA Issue: Recipe LICENSE includes obsolete licenses GPLv2 [obsolete-license] Signed-off-by: Virendra Nakaskar Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb | 2 +- meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb index f474595c..3a6e3721 100644 --- a/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2024.1.bb @@ -1,7 +1,7 @@ SUMMARY = "Linux kernel module for Video Code Unit" DESCRIPTION = "Out-of-tree VCU decoder, encoder and common kernel modules provider for MPSoC EV devices" SECTION = "kernel/modules" -LICENSE = "GPL-2.0-only" +LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a" XILINX_VCU_VERSION = "1.0.0" diff --git a/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb index 84f9cc2a..63936e2e 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2024.1.bb @@ -1,7 +1,7 @@ SUMMARY = "Linux kernel module for Video Decode Unit" DESCRIPTION = "Out-of-tree VDU decoder common kernel modules" SECTION = "kernel/modules" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a" XILINX_VDU_VERSION = "1.0.0" -- cgit v1.2.3-54-g00ecf From 4d3d2809b22fba4a6dcd3f6bd994b4843e834b53 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 17 Apr 2024 06:19:06 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_8507 spi: cadence_qspi: Fix OSPI probe issue when the prescaler is set to 2 --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index b4ac7998..847e12a4 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2024.01" UBRANCH = "xlnx_rebase_v2024.01" -SRCREV = "a64b554a4a7e0c540dd4fbb69bcf765a88d7359f" +SRCREV = "0c8d5190273263424cc60d416ce22e47f59bf1e6" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From 7cdd0dd5230d45ee492ce36af3549cde9f562d82 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 17 Apr 2024 06:18:26 +0530 Subject: linux-xlnx : Updated SRCREV for 2024.1_8599 drivers: mailbox: handle SGI for shared IPI --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index 3008a572..2ead5c4c 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.6.10" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.6;destsuffix=yocto-kmeta" KBRANCH="xlnx_rebase_v6.6_LTS" -SRCREV = "73608e3d7f39dc2b44a1d3c135dec85bcb1b67f0" +SRCREV = "0840d6ecdc27c86cad9d24bbc8317a67e09648df" SRCREV_meta = "5d0809d0d939c7738cb6e5391126c73fd0e4e865" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From e0745a27f5f873c00941fd4bac1061a40956760a Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 17 Apr 2024 06:03:35 +0530 Subject: xen : Updated SRCREV for 2024.1_6403 xen/arm: fix build failure with XSM and PCI_PASSTHROUGH common: overlay: Fix array-out-of-bounds in dt_overlay_sysctl() --- meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx_4.18.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx_4.18.inc b/meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx_4.18.inc index a3d90596..9610bd98 100644 --- a/meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx_4.18.inc +++ b/meta-xilinx-virtualization/recipes-extended/xen/xen-xilinx_4.18.inc @@ -1,4 +1,4 @@ -SRCREV = "a4754372819eb69acb658fc013ad35c4d55bf9a5" +SRCREV = "c4ff3360900b7428ca31de2425763acfe7ad9c21" XEN_URI = "git://github.com/Xilinx/xen.git;protocol=https" XEN_BRANCH = "xlnx_rebase_4.18" -- cgit v1.2.3-54-g00ecf From fc98a0b440c0a234b70936a1290470aff7796553 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 17 Apr 2024 16:34:14 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_7559 sdps: Add doxygen and editorial fixes qspipsu: Add doxygen fixes ospipsv: Add doxygen and editorial fixes gpio: Add doxygen and editorial fixes sysmonpsv: Add doxygen and editorial fixes sw_services: xilplmi: Fix doxygen warnings ttcps: Add support for compiling examples in Yocto flow sw_services: xilloader: Added glitch checks after function call --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 5515c117..41f0c311 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -13,7 +13,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "e847e1935dca630615e5f7dc694365a44b89699c" -ESW_REV[2024.1] = "7a83d27befe888ee4efc1ad90fb22a884eef6700" +ESW_REV[2024.1] = "a94e86f7645ea2946b4b33992385870f7befbb25" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or 'INVALID'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 7eedf5943b813658f1cdbe6efd56dec07ad362a0 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 18 Apr 2024 11:36:00 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_2451 v_hdmitxss1: Exdes Independent mode Fix v_hdmirxss1: Exdes Independent mode fix csudma: Fix peripheral test failure for MB designs iicps: Add doxygen and editorial fixes mipicsiss: update CPHY support only for Rigel flow v_sdirx: Fix HD/SD/3G modes without st352 payload --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 41f0c311..90e78c52 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -13,7 +13,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "e847e1935dca630615e5f7dc694365a44b89699c" -ESW_REV[2024.1] = "a94e86f7645ea2946b4b33992385870f7befbb25" +ESW_REV[2024.1] = "faf498ef6012b89134892af6644943bd3caa776d" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or 'INVALID'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 7d2ddcde7205227406d0d9d99f3686860edda822 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Wed, 17 Apr 2024 13:53:03 -0500 Subject: ai-engine-driver: Switch to recipe versioning The hard coded PV = '3.3' does not match the recipe version which is 3.5. Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.5.bb | 1 - 1 file changed, 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.5.bb b/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.5.bb index e364462b..0598cba2 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.5.bb +++ b/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.5.bb @@ -12,7 +12,6 @@ I = "${AIEDIR}/include" COMPATIBLE_MACHINE = "^$" COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core" COMPATIBLE_MACHINE:versal-ai-edge = "${SOC_VARIANT_ARCH}" -PV = "3.3" IOBACKENDS ?= "Linux" -- cgit v1.2.3-54-g00ecf From 8a2505325869c3abeb2b654eeeffb3522401ab8f Mon Sep 17 00:00:00 2001 From: Nandanikhil Gajulapally Date: Wed, 17 Apr 2024 22:42:38 +0530 Subject: xilloader_2024.1: Updated dependency of xilloader library recipe added xilsem as a dependency to xilloader. Signed-off-by: Nandanikhil Gajulapally Signed-off-by: Mark Hatle --- .../recipes-libraries/xilloader_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilloader_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilloader_2024.1.bb index 11b03c1b..4f01407e 100644 --- a/meta-xilinx-standalone-experimental/recipes-libraries/xilloader_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilloader_2024.1.bb @@ -4,6 +4,6 @@ ESW_COMPONENT_SRC = "/lib/sw_services/xilloader/src/" ESW_COMPONENT_NAME = "libxilloader.a" #DEPENDS += "xilstandalone libxil xilpdi xilffs xilsecure xilpuf xilplmi" -DEPENDS += "xilstandalone libxil xilpm xilpdi xilffs xilsecure xilpuf" +DEPENDS += "xilstandalone libxil xilpm xilpdi xilffs xilsecure xilpuf xilsem" DEPENDS += "cframe" -- cgit v1.2.3-54-g00ecf From ecdb05ddc7263fcae505f63a3b0accf9bc890a05 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 19 Apr 2024 13:20:52 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_3487 sw_services:xilsecure:Fixed doxygen warnings Revert "sw_services:Fixed doxygen warnings" sw_services: xilocp: Fix the size of buffer passed to XPlmi_MemSet sw_services:Fixed doxygen warnings sw_services: xilsecure: Update SHA2 minor version --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 90e78c52..b4425d09 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -13,7 +13,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "e847e1935dca630615e5f7dc694365a44b89699c" -ESW_REV[2024.1] = "faf498ef6012b89134892af6644943bd3caa776d" +ESW_REV[2024.1] = "e60fb164016b6dcc24cb13e3104aa9da801121b7" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or 'INVALID'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 02317b4ec5998b14a1d408a07173912a2d1bfa0c Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 22 Apr 2024 14:53:40 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_4987 dfeofdm: Update hw version in yamal sw_services: xloader: Added DDRMC registers Dump logs in Versal sw_services: xiltimer: Fix doxygen warnings sw_services: xiltimer: Add support for tick and sleep timers sw_services: xloader: Added DDRMC registers Dump logs in Versal-Net --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index b4425d09..257a9b7f 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -13,7 +13,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "e847e1935dca630615e5f7dc694365a44b89699c" -ESW_REV[2024.1] = "e60fb164016b6dcc24cb13e3104aa9da801121b7" +ESW_REV[2024.1] = "c16018a7950afd274397fd06950d9446de9f1779" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or 'INVALID'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 79a63367b1086bed17d770f123b50a2ac6494596 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 22 Apr 2024 17:25:30 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_2155 Revert "Revert "lmb: consider EFI memory map"" common: fdt: replace error prints to debug --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index 847e12a4..c30c5666 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2024.01" UBRANCH = "xlnx_rebase_v2024.01" -SRCREV = "0c8d5190273263424cc60d416ce22e47f59bf1e6" +SRCREV = "8fc1a07a7c3e84fcd5bd945e1c931da25e1b0130" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From b2d1082413cdb09acc0a8496aea7793fd10f6361 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Mon, 22 Apr 2024 19:09:29 +0530 Subject: linux-xlnx : Updated SRCREV for 2024.1_2095 misc: rsmu: add rsmu cdev driver ptp: 82p33: move register definitions out of ptp folder mfd: rsmu: add FemtoClock3 support mfd: rsmu: support I2C SMBus access ptp: clockmatrix: move register and firmware related definition to idt8a340_reg.h ptp: clockmatrix: Fix caps.max_adj to reflect DPLL_MAX_FREQ_OFFSET[MAX_FFO] ptp: clockmatrix: dco input-to-output delay is 20 FOD cycles + 8ns ptp: clockmatrix: set write phase timer to 0 when not in PCW mode ptp: clockmatrix: support 32-bit address space --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index 2ead5c4c..a1e9095c 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.6.10" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.6;destsuffix=yocto-kmeta" KBRANCH="xlnx_rebase_v6.6_LTS" -SRCREV = "0840d6ecdc27c86cad9d24bbc8317a67e09648df" +SRCREV = "7d3c0f27dc86aab8e1ddd1683691633e72f28174" SRCREV_meta = "5d0809d0d939c7738cb6e5391126c73fd0e4e865" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From b07fcfbdd00db3df3d76e713b6aaf5d936864826 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Fri, 12 Apr 2024 15:55:04 -0500 Subject: meta-xilinx-standalone: gcc-xilinx-standalone: Microblaze disable transactional memory On microblaze, add "--disable-tm-clone-registry" due to the image size increasing Disable TM clone registry in libgcc. It is enabled in libgcc by default. This option helps to reduce code size for embedded targets which do not use transactional memory. Signed-off-by: Mark Hatle --- meta-xilinx-standalone/recipes-devtools/gcc/gcc-xilinx-standalone.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/meta-xilinx-standalone/recipes-devtools/gcc/gcc-xilinx-standalone.inc b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-xilinx-standalone.inc index 2faf7a4b..3417f375 100644 --- a/meta-xilinx-standalone/recipes-devtools/gcc/gcc-xilinx-standalone.inc +++ b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-xilinx-standalone.inc @@ -24,4 +24,5 @@ EXTRA_OECONF:append:xilinx-standalone:armv8r = " \ EXTRA_OECONF:append:xilinx-standalone:microblaze = " \ --without-long-double-128 \ + --disable-tm-clone-registry \ " -- cgit v1.2.3-54-g00ecf From 475d4ed56e6ded13791d22fd2615fa1a07562f2b Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 23 Apr 2024 06:22:17 +0530 Subject: aie-rt : Updated SRCREV for 2024.1_7267 fal: src: Fix combo event resource ID driver: src: io_backend: Clear TileInUse Bitmap _XAie_PrivilegeInitPart API --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index 577ac963..c0c48f81 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "xlnx_rel_v2024.1" -SRCREV ?= "d864f8eb4c509393696cf564bee11086744efcdb" +SRCREV ?= "60579564ad9d54608aa7f5fc19df1ec599eee707" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From 0236f98cea1ed6af8a12e2f2a42ae3c5b47612a7 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 23 Apr 2024 15:54:01 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_6307 Updated changelog for 2024.1 components_1 dsirxss: Update dsirxss to dsi2rxss. dsi2rx: Add new subcore driver for DSI RX. ThirdParty: openamp: Add Compiler flag -Os for applications by default BSP: cortexr5: Support lockstep_mode_debug in SDT flow iomodule: Ensure that xio.h is included only for MB and MB-V scripts:pyesw:create_bsp: Update the Findcommon.cmake file to maintain backward compatibility for NON_YOCTO variable --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 257a9b7f..169728b8 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -13,7 +13,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "e847e1935dca630615e5f7dc694365a44b89699c" -ESW_REV[2024.1] = "c16018a7950afd274397fd06950d9446de9f1779" +ESW_REV[2024.1] = "54539e1accb6c616a1b67ef07b7d83d4097194b6" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or 'INVALID'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From d2fbb30c4921258ae6c53153d9efc5631da4dc3f Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 25 Apr 2024 06:18:38 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_6415 mtd: spi-nor: Fix OSPI probe issue in stacked mode. --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index c30c5666..9b99a476 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2024.01" UBRANCH = "xlnx_rebase_v2024.01" -SRCREV = "8fc1a07a7c3e84fcd5bd945e1c931da25e1b0130" +SRCREV = "5b0014e7c094c87035b02756fc07b02816bee992" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From c9e4bb9ef782daa3c48a3a48fe18e2ab758cdd27 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 25 Apr 2024 06:21:11 +0530 Subject: vdu-ctrl-sw : Updated SRCREV for 2024.1_4667 Fixed buildpath QA warning --- meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb index 3acbf3ef..88ddb885 100644 --- a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb +++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2024.1.bb @@ -13,7 +13,7 @@ REQUIRED_MACHINE_FEATURES = "vdu" BRANCH ?= "xlnx_rel_v2024.1" REPO ?= "git://github.com/Xilinx/vdu-ctrl-sw.git;protocol=https" -SRCREV ?= "7af131e0780d52ebc7bd6173bf1b99fec4dc522f" +SRCREV ?= "fb8730a808b707bfb86d3d64881899214a951ff6" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG}" -- cgit v1.2.3-54-g00ecf From 93f630e87ae5aaba1e614b9c21622225714e3e91 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 25 Apr 2024 11:12:14 +0530 Subject: linux-xlnx : Updated SRCREV for 2024.1_7479 phy: xilinx-xhdmiphy: Add support for FRL 6G 3-lane mode phy: xilinx-xhdmiphy: Fix bug in xhdmiphy_rpll_param function phy: xilinx-xhdmiphy: Fix configuring retimer chip in HDMI 2.1 mode phy: xilinx-xhdmiphy: Clear all the config flags after being served phy: xilinx-xhdmiphy: Select FRL clock source after configuring in HDMI 2.1 mode firmware: xilinx: Fix feature check for crypto drivers usb: udc: remove warning when queue disabled ep --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index a1e9095c..e835e2f7 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.6.10" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.6;destsuffix=yocto-kmeta" KBRANCH="xlnx_rebase_v6.6_LTS" -SRCREV = "7d3c0f27dc86aab8e1ddd1683691633e72f28174" +SRCREV = "08ceadacc1da15a77045dee6654f9cd906906271" SRCREV_meta = "5d0809d0d939c7738cb6e5391126c73fd0e4e865" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From d34a8da665f42c5345b9b448b1e4115591b30751 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 26 Apr 2024 06:22:29 +0530 Subject: aie-rt : Updated SRCREV for 2024.1_4207 driver: src: Added StarCol in XAie_GetTileBitPosFromLoc for non-zero partition and correction in SetColumnClk for set & cleat Bitmap. driver: src: Remove resource files from CMake --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index c0c48f81..23e3975e 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "xlnx_rel_v2024.1" -SRCREV ?= "60579564ad9d54608aa7f5fc19df1ec599eee707" +SRCREV ?= "18e416bca8f2cb1de8956fa8cb8a5ae783f3c2ee" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From 91cb12f9021cde165cb525f31044f03315440fc3 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 26 Apr 2024 06:15:16 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_7731 Updated changelog for 2024.1 components-5 sw_services:xilrsa:Added additional files missing property to clean the target VPROCSS: Subcore array definition fix for VPSS dfeprach: Configure si570 in Linux examples dfeofdm: Configure si570 in Linux examples dfemix: Configure si570 in Linux examples dfeequ: Configure si570 in Linux examples dfeccf: Configure si570 in Linux examples Updated changelog for 2024.1 components-4 Updated changelog for 2024.1 components-2 Updated changelog for 2024.1 components-3 OpenAMP: Remove hard-coding cmake paths and dependencies --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 169728b8..580bd380 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -13,7 +13,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "e847e1935dca630615e5f7dc694365a44b89699c" -ESW_REV[2024.1] = "54539e1accb6c616a1b67ef07b7d83d4097194b6" +ESW_REV[2024.1] = "f53bf7e9bec23b97082e087ac86739a31e52bb44" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or 'INVALID'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 00a9929d15215ed5031cdbcd7776cef82c7eab7d Mon Sep 17 00:00:00 2001 From: Siva Addepalli Date: Fri, 26 Apr 2024 09:10:39 +0530 Subject: Revert "embeddedsw : Updated SRCREV for 2024.1_7731" This reverts commit 91cb12f9021cde165cb525f31044f03315440fc3. --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 580bd380..169728b8 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -13,7 +13,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "e847e1935dca630615e5f7dc694365a44b89699c" -ESW_REV[2024.1] = "f53bf7e9bec23b97082e087ac86739a31e52bb44" +ESW_REV[2024.1] = "54539e1accb6c616a1b67ef07b7d83d4097194b6" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or 'INVALID'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 7ff2940d82d3e15eecd6f69c298700afa345c47a Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Thu, 25 Apr 2024 13:22:32 -0600 Subject: meta-xilinx-standalone: gcc-xilinx-standalone: Microblaze disable transactional memory These two files were missed when the other part of the patch was applied. On microblaze, add "--disable-tm-clone-registry" due to the image size increasing Disable TM clone registry in libgcc. It is enabled in libgcc by default. This option helps to reduce code size for embedded targets which do not use transactional memory. Signed-off-by: Mark Hatle --- meta-xilinx-standalone/recipes-devtools/gcc/gcc-runtime_%.bbappend | 1 + meta-xilinx-standalone/recipes-devtools/gcc/libgcc_%.bbappend | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/meta-xilinx-standalone/recipes-devtools/gcc/gcc-runtime_%.bbappend b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-runtime_%.bbappend index 3a7d1395..52360e2b 100644 --- a/meta-xilinx-standalone/recipes-devtools/gcc/gcc-runtime_%.bbappend +++ b/meta-xilinx-standalone/recipes-devtools/gcc/gcc-runtime_%.bbappend @@ -28,6 +28,7 @@ EXTRA_OECONF:append:xilinx-standalone:armv8r:class-target = " \ EXTRA_OECONF:append:xilinx-standalone:microblaze:class-target = " \ --without-long-double-128 \ + --disable-tm-clone-registry \ " # Changes local to gcc-runtime... diff --git a/meta-xilinx-standalone/recipes-devtools/gcc/libgcc_%.bbappend b/meta-xilinx-standalone/recipes-devtools/gcc/libgcc_%.bbappend index 861b3f9c..2d33f5a9 100644 --- a/meta-xilinx-standalone/recipes-devtools/gcc/libgcc_%.bbappend +++ b/meta-xilinx-standalone/recipes-devtools/gcc/libgcc_%.bbappend @@ -2,6 +2,10 @@ require gcc-configure-xilinx-standalone.inc COMPATIBLE_HOST = "${HOST_SYS}" +EXTRA_OECONF:append:xilinx-standalone:microblaze:class-target = " \ + --disable-tm-clone-registry \ + " + python do_multilib_install:xilinx-standalone:class-target () { pass } -- cgit v1.2.3-54-g00ecf From edba71bbcf910119881f9a4fcbc201489ca21f93 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Sun, 28 Apr 2024 15:09:00 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_2855 scugic: Fix declaration for routines declared in scugic_header.h Embedded SW license update 2024.1 release Added xiltimer and cpu cortexr5 Added openamp_v1_10 and libmetal_v2_7 sw_services: xiltimer: Update default sleep and tick timers in SDT flow cmake: Findcommon.cmake: Remove the unused legacy code to avoid the wrong DDR value in linker Updated rigel to SDT Revert "OpenAMP: Remove hard-coding cmake paths and dependencies" BSP: riscv: Add hooks for open and close syscalls scugic: xscugic_example: Use interrupt wrapper APIs to trigger SGI BSP: intr: Add software interrupt support scripts: pyesw: reconfig_bsp: Fix cmake configure errors on windows sw_services:xilsecure:Use correct KAT mask for RSA operation xilpm: server: Release DDRMCs linked to root PLDx during PldInitStart BSP: Display all legacy BSP setting options in SDT flow Added new components and line spaces in ChangeLog Changelog: update for OpenAMP and Libmetal Changelog: update for dfe drivers lwip220 : add dhcp and acd debug flags lwip220 : fix lwip debug options in cmake Updated changelog for 2024.1 components-5 sw_services:xilrsa:Added additional files missing property to clean the target VPROCSS: Subcore array definition fix for VPSS dfeprach: Configure si570 in Linux examples dfeofdm: Configure si570 in Linux examples dfemix: Configure si570 in Linux examples dfeequ: Configure si570 in Linux examples dfeccf: Configure si570 in Linux examples Updated changelog for 2024.1 components-4 Updated changelog for 2024.1 components-2 Updated changelog for 2024.1 components-3 OpenAMP: Remove hard-coding cmake paths and dependencies --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 169728b8..0a9fb92e 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -13,7 +13,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "e847e1935dca630615e5f7dc694365a44b89699c" -ESW_REV[2024.1] = "54539e1accb6c616a1b67ef07b7d83d4097194b6" +ESW_REV[2024.1] = "f9813dcf080fd596e38133ee26eb4b35ae401b1d" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or 'INVALID'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" @@ -23,7 +23,7 @@ LICENSE = "MIT" LIC_FILES_CHKSUM[master] = '9fceecdbcad88698f265578f3d4cb26c' LIC_FILES_CHKSUM[xlnx_rel_v2023.1_update] = '3c310a3ee2197a4c92c6a0e2937c207c' LIC_FILES_CHKSUM[xlnx_rel_v2023.2_update] = '9fceecdbcad88698f265578f3d4cb26c' -LIC_FILES_CHKSUM[xlnx_rel_v2024.1-next] = '443113d5aa8fd5facf31e9c5d25dc114' +LIC_FILES_CHKSUM[xlnx_rel_v2024.1-next] = '0dcabd3719e5ac33f7c03f0d77d473f2' LIC_FILES_CHKSUM ??= "file://license.txt;md5=${@d.getVarFlag('LIC_FILES_CHKSUM', d.getVar('BRANCH')) or '0'}" SRC_URI = "${EMBEDDEDSW_SRCURI}" -- cgit v1.2.3-54-g00ecf From 50265130ad1480d860f7dad4f9d9a58b2c26857f Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Sun, 28 Apr 2024 14:25:11 +0530 Subject: linux-xlnx : Updated SRCREV for 2024.1_5455 drivers: crypto: xilinx: Fix the request size --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index e835e2f7..0356f594 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.6.10" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.6;destsuffix=yocto-kmeta" KBRANCH="xlnx_rebase_v6.6_LTS" -SRCREV = "08ceadacc1da15a77045dee6654f9cd906906271" +SRCREV = "2de012957c3555b5d1f46cdd63729f43b9bb4514" SRCREV_meta = "5d0809d0d939c7738cb6e5391126c73fd0e4e865" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From daea2dc06b56575a4a325a24fbd179023f966733 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Sun, 28 Apr 2024 18:04:25 -1200 Subject: linux-xlnx : Updated SRCREV for 2024.1_8707 drivers: crypto: xilinx: Add support for do_one_request mtd: spi-nor: gigadevice: Disable 16bit SR operation for gd25lx256e flash mtd: spi-nor: Fix RX tuning failure for OSPI flashes connected in stacked mode --- meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb index 0356f594..71ac690e 100644 --- a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb +++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2024.1.bb @@ -1,7 +1,7 @@ LINUX_VERSION = "6.6.10" YOCTO_META ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-6.6;destsuffix=yocto-kmeta" KBRANCH="xlnx_rebase_v6.6_LTS" -SRCREV = "2de012957c3555b5d1f46cdd63729f43b9bb4514" +SRCREV = "3af4295e00efdced3e8c6973606a7de55f6bf7dc" SRCREV_meta = "5d0809d0d939c7738cb6e5391126c73fd0e4e865" KCONF_AUDIT_LEVEL="0" -- cgit v1.2.3-54-g00ecf From 41be3639ea7b0009adeda889bb3ff7916403a245 Mon Sep 17 00:00:00 2001 From: Nandanikhil Gajulapally Date: Tue, 23 Apr 2024 22:39:47 +0530 Subject: xilffs_2024.1: added bsp configuration required for versal_plm add missing xilffs bsp configuraiton required for versal_plm to boot from SD1 controller in eMMC1 boot mode when the design has both the controllers enabled. Signed-off-by: Nandanikhil Gajulapally Signed-off-by: Mark Hatle --- meta-xilinx-standalone-experimental/recipes-libraries/xilffs_2024.1.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta-xilinx-standalone-experimental/recipes-libraries/xilffs_2024.1.bb b/meta-xilinx-standalone-experimental/recipes-libraries/xilffs_2024.1.bb index b8dc3b33..b7e0784a 100644 --- a/meta-xilinx-standalone-experimental/recipes-libraries/xilffs_2024.1.bb +++ b/meta-xilinx-standalone-experimental/recipes-libraries/xilffs_2024.1.bb @@ -8,4 +8,6 @@ PACKAGECONFIG[use_mkfs] ="-DXILFFS_use_mkfs=ON,-DXILFFS_use_mkfs=OFF,," PACKAGECONFIG[read_only] ="-DXILFFS_read_only=ON,-DXILFFS_read_only=OFF,," PACKAGECONFIG[word_access]="-DXILFFS_word_access=ON,-DXILFFS_word_access=OFF,," +EXTRA_OECMAKE += "${@'-DXILFFS_num_logical_vol=10 -DXILFFS_enable_multi_partition=ON' if d.getVar('ESW_MACHINE') == 'psv_pmc_0' else ''}" + DEPENDS += "xilstandalone libxil" -- cgit v1.2.3-54-g00ecf From e7242bcd8777529498372f2fe3ab5272903b8ef5 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Mon, 29 Apr 2024 13:08:47 -0500 Subject: xlnx-embeddedsw: Move branch to 2024.1 release branch Signed-off-by: Mark Hatle --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 0a9fb92e..b2058f08 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -7,13 +7,13 @@ REPO ??= "git://github.com/Xilinx/embeddedsw.git;protocol=https" ESW_BRANCH[git] = "master" ESW_BRANCH[2023.1] = "xlnx_rel_v2023.1_update" ESW_BRANCH[2023.2] = "xlnx_rel_v2023.2_update" -ESW_BRANCH[2024.1] = "xlnx_rel_v2024.1-next" +ESW_BRANCH[2024.1] = "xlnx_rel_v2024.1" BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "e847e1935dca630615e5f7dc694365a44b89699c" -ESW_REV[2024.1] = "f9813dcf080fd596e38133ee26eb4b35ae401b1d" +ESW_REV[2024.1] = "b5aeb49ea7dfc76dfd3f3de5fac335abab206ec8" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or 'INVALID'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" @@ -23,7 +23,7 @@ LICENSE = "MIT" LIC_FILES_CHKSUM[master] = '9fceecdbcad88698f265578f3d4cb26c' LIC_FILES_CHKSUM[xlnx_rel_v2023.1_update] = '3c310a3ee2197a4c92c6a0e2937c207c' LIC_FILES_CHKSUM[xlnx_rel_v2023.2_update] = '9fceecdbcad88698f265578f3d4cb26c' -LIC_FILES_CHKSUM[xlnx_rel_v2024.1-next] = '0dcabd3719e5ac33f7c03f0d77d473f2' +LIC_FILES_CHKSUM[xlnx_rel_v2024.1] = '443113d5aa8fd5facf31e9c5d25dc114' LIC_FILES_CHKSUM ??= "file://license.txt;md5=${@d.getVarFlag('LIC_FILES_CHKSUM', d.getVar('BRANCH')) or '0'}" SRC_URI = "${EMBEDDEDSW_SRCURI}" -- cgit v1.2.3-54-g00ecf From 16d26ca8842cba5ac54e80a64cc0692faf6d456e Mon Sep 17 00:00:00 2001 From: Raju Kumar Pothuraju Date: Mon, 29 Apr 2024 11:52:53 +0530 Subject: .gitmodules: Move to xlnx_rel_v2024.1 Branch Move to xlnx_rel_v2024.1 Branch. Signed-off-by: Raju Kumar Pothuraju Signed-off-by: Mark Hatle --- .gitmodules | 2 +- meta-xilinx-core/gen-machine-conf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitmodules b/.gitmodules index 5e671383..104587f3 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,4 +1,4 @@ [submodule "gen-machine-conf"] path = meta-xilinx-core/gen-machine-conf url = https://github.com/Xilinx/gen-machine-conf.git - branch = xlnx_rel_v2023.2 + branch = xlnx_rel_v2024.1 diff --git a/meta-xilinx-core/gen-machine-conf b/meta-xilinx-core/gen-machine-conf index 911941fc..e3968c5d 160000 --- a/meta-xilinx-core/gen-machine-conf +++ b/meta-xilinx-core/gen-machine-conf @@ -1 +1 @@ -Subproject commit 911941fc094dc0073c2f01a2b94de3cc6e993fe3 +Subproject commit e3968c5d6b1d02b2c1fa51de838f0757bca1c16b -- cgit v1.2.3-54-g00ecf From 28c002e7d94b74a0ef917b6b71b1030b7376e32a Mon Sep 17 00:00:00 2001 From: saumya garg Date: Mon, 29 Apr 2024 14:30:46 +0530 Subject: xrt, zocl: update commit id Changelog: master pipeline for 2024.1 (#8087) CR-1186952 (#8111) Removing unnecessary include file that was causing problems on non-edge builds (#8107) XRT Support for EEMI based PMC SRST (system reset) CR-1183722 (#8096) CR-1189791 Update OS Support in XRT Docs (#8097) Fix GeMM coverity (#8104) CR-1194229: Removed json file dependency for the AIE-PL test (#8095) Move dmatest.h dependency to fix build issues (#8103) Enhancing mem-bw testcase to print individual bank name and throughput. (#8101) fixing rw_shared configuration in xgq based flow (#8102) fix to select both channels as default (#8082) GeMM testcase (#8058) reduce the number of iterations for throughput test to 1000 (#8091) fixing an ISR issue in ctrl_none case (#8094) Fixing extraction logic (#8100) fix for centos78 issue (#8099) using right column for broadcasting start core (#8092) Remove MaxPower from electrical report for Ryzen (#8088) Silence C++ [[nodiscard]] warning (#8090) More clang-tidy cleanups of HIP code and a major bug in new PDI transform error handling path (#8086) integrate aie-pdi-transform into xclbinutil (#8011) Manticfixes (#8084) CR-1197359: Modifying XRT codebase to send absolute tile column value to AIE driver (#8080) Client AIE improvements (#8056) aie core tile status report fix due to relative values of column in xclbin (#8081) Temporarily disable telemetry report for RyzenAI (#8078) VITIS-11824 Consolidate examine and platform reports (#8077) Building Hip in XRT as part of Ubuntu 2204 (#8079) VITIS-11639 Small Enhancements to xbutil validate description (#8075) Fix for CR:1194572-XRT stop_profiling API error (#8074) Completed HIP Command Related Functions (#8041) Non-client AIE improvements (#8055) Add missing include (#8068) VITIS-11112 HIP Binding: Memory Management. (#8050) Signed-off-by: saumya garg Signed-off-by: Mark Hatle --- meta-xilinx-core/recipes-xrt/xrt/xrt.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc index b301830f..1de987fa 100644 --- a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc @@ -2,8 +2,8 @@ REPO ?= "git://github.com/Xilinx/XRT.git;protocol=https" BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" SRC_URI = "${REPO};${BRANCHARG};name=xrt" -BRANCH= "master" -SRCREV_xrt = "baf88820fb3fc24dda4dc08c91ecbca2c76c7b0f" +BRANCH= "2024.1" +SRCREV_xrt = "11f9d2bc6fc61862105093e42cb62c04cf506e51" PV = "202410.2.17.0" SRC_URI += "git://github.com/Xilinx/dma_ip_drivers.git;branch=master;name=dma_ip_drivers;destsuffix=git/src/runtime_src/core/pcie/driver/linux/xocl/lib/libqdma;protocol=https" -- cgit v1.2.3-54-g00ecf From c5bde0cba28970488cfb366276ba7122c046e390 Mon Sep 17 00:00:00 2001 From: Ramya Darapuneni Date: Mon, 29 Apr 2024 18:19:52 +0530 Subject: bootgen: Add recipe for 2024.1 Updated latest branch commit id Signed-off-by: Ramya Darapuneni Signed-off-by: Mark Hatle --- .../recipes-bsp/bootgen/bootgen_2024.1.bb | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 meta-xilinx-core/recipes-bsp/bootgen/bootgen_2024.1.bb diff --git a/meta-xilinx-core/recipes-bsp/bootgen/bootgen_2024.1.bb b/meta-xilinx-core/recipes-bsp/bootgen/bootgen_2024.1.bb new file mode 100644 index 00000000..3c68f10d --- /dev/null +++ b/meta-xilinx-core/recipes-bsp/bootgen/bootgen_2024.1.bb @@ -0,0 +1,31 @@ +SUMMARY = "Building and installing bootgen" +DESCRIPTION = "Building and installing bootgen, a Xilinx tool that lets you stitch binary files together and generate device boot images" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d526b6d0807bf263b97da1da876f39b1" + +S = "${WORKDIR}/git" + +DEPENDS += "openssl" +RDEPENDS:${PN} += "openssl" + +REPO ?= "git://github.com/Xilinx/bootgen.git;protocol=https" +BRANCH = "xlnx_rel_v2024.1" +SRCREV = "92e09bf37ea17d7b1f0e102a2548f27fb768651c" + +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = "${REPO};${BRANCHARG}" + +EXTRA_OEMAKE += 'CROSS_COMPILER="${CXX}" -C ${S}' +CXXFLAGS:append = " -std=c++0x" + +TARGET_CC_ARCH += "${LDFLAGS}" + +do_install() { + install -d ${D}${bindir} + install -Dm 0755 ${S}/bootgen ${D}${bindir} +} + +FILES:${PN} = "${bindir}/bootgen" + +BBCLASSEXTEND = "native nativesdk" -- cgit v1.2.3-54-g00ecf From 8ff0a537f6be5518378cd514ee24fa3ad054bf81 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Wed, 1 May 2024 06:16:05 +0530 Subject: open-amp : Updated SRCREV for 2024.1_8987 apps: zynqmp_r5: zynqmp: Update #ifndef wrappings for RPU1 --- .../openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb index bf779ff5..c1fda947 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-openamp/open-amp/open-amp-xlnx_v2024.1.bb @@ -1,5 +1,5 @@ SRCBRANCH ?= "2024" -SRCREV = "7d39410ad2172be9f339c4ce565ed765ddd8c5c8" +SRCREV = "dbf0857389190f4c4cedfb77bd1f9bdd7ab404f3" BRANCH = "xlnx_rel_v2024.1" LIC_FILES_CHKSUM ?= "file://LICENSE.md;md5=ab88daf995c0bd0071c2e1e55f3d3505" PV = "${SRCBRANCH}+git${SRCPV}" -- cgit v1.2.3-54-g00ecf From a3eee586ba5cc9528eecc7da2ac4ccc5e6d2324e Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Tue, 30 Apr 2024 10:49:03 -0600 Subject: README.md: Add meta-openamp clone step to README 1. Add meta-openamp clone step to README. 2. Add pre-requisites for SDT generation README. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- meta-xilinx-standalone-experimental/README.md | 32 ++++++++++++++++++--------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/meta-xilinx-standalone-experimental/README.md b/meta-xilinx-standalone-experimental/README.md index 950e4e12..5ca782bf 100644 --- a/meta-xilinx-standalone-experimental/README.md +++ b/meta-xilinx-standalone-experimental/README.md @@ -10,24 +10,33 @@ be buildable, expect APIs to change on various parts and pieces. ## Build Instructions -> **Note:** +The Yocto Project setup for the System Device Tree (SDT) workflow is as follows. +Be sure to read everything below. + +> **Pre-requisites:** > * To use this layer you must REMOVE meta-xilinx-tools from your project. meta-xilinx-tools is not compatible with this experimental approach. You may also have to remove other layers that depend on meta-xilinx-tools, such as meta-kria and meta-system-controller. +> * Follow [System Device Tree Instructions](https://github.com/Xilinx/system-device-tree-xlnx/blob/master/README.md) +> to generate the SDT output. > * To use the experimental version of the embedded software (firmware) as well as system configuration, you must build through gen-machineconf tool. This tool is passed a output of system device tree directory. -The Yocto Project setup for the System Device Tree (SDT) workflow is as follows. -Be sure to read everything below. +1. Follow [Building Instructions](../README.building.md) upto step 2. + +2. Clone the meta-openamp repository. -1. Follow [Building Instructions](https://github.com/Xilinx/meta-xilinx/blob/master/README.building.md) - upto step 4. +``` +$ git clone -b https://github.com/Xilinx/meta-openamp +``` +3. Continue [Building Instructions](https://github.com/Xilinx/meta-xilinx/blob/master/README.building.md) + from step 3 to step 4. -2. Remove meta-xilinx-tools and meta-xilinx-tools dependency layers(such as +4. Remove meta-xilinx-tools and meta-xilinx-tools dependency layers(such as meta-kria and meta-system-controller if included in bblayers.conf), then add - the meta-xilinx-standalone-experimental layer. + the meta-xilinx-standalone-experimental and meta-openamp layer. > **Note:** SDT builds for following devices are not supported in 2024.1 release. > * Zynq 7000 @@ -40,14 +49,15 @@ $ bitbake-layers remove-layer meta-xilinx-tools $ bitbake-layers remove-layer meta-kria $ bitbake-layers remove-layer meta-system-controller $ bitbake-layers add-layer .//meta-xilinx/meta-xilinx-standalone-experimental +$ bitbake-layers add-layer .//meta-openamp ``` -3. Export gen-machineconf tool. +5. Export gen-machineconf tool. ``` $ export PATH=$PATH:/gen-machine-conf ``` -4. Run the script from the build or ${TOPDIR} directory. This step describes +6. Run the script from the build or ${TOPDIR} directory. This step describes System Device Tree (SDT) with and without pl overlays. Configruations are same for both SDT with and without pl overlays except for linux dts content. @@ -139,11 +149,11 @@ suggested that you trim this down to only the configurations you require. A minimum configuration is included with the generated configuration. -5. Build your project, You should now be able to build your project normally. +7. Build your project, You should now be able to build your project normally. See the Yocto Project documentation if you have questions on how to work with the multiconfig recipes. The following is a simple build for testing. -6. Continue [Building Instructions](https://github.com/Xilinx/meta-xilinx/blob/master/README.building.md) +8. Continue [Building Instructions](https://github.com/Xilinx/meta-xilinx/blob/master/README.building.md) from step 6. ## Dependencies -- cgit v1.2.3-54-g00ecf From 44c9aa5ef0b36494ce7d3853007ddc277e223f53 Mon Sep 17 00:00:00 2001 From: Sandeep Gundlupet Raju Date: Tue, 30 Apr 2024 10:49:04 -0600 Subject: README.building.md: Make gen-machine-conf clone as default step Make gen-machine-conf clone as default step as this is required for SDT builds. Signed-off-by: Sandeep Gundlupet Raju Signed-off-by: Mark Hatle --- README.building.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.building.md b/README.building.md index 28ba1b24..456aa634 100644 --- a/README.building.md +++ b/README.building.md @@ -23,15 +23,15 @@ $ mkdir sources $ git clone -b https://git.yoctoproject.org/poky.git $ git clone -b https://git.openembedded.org/meta-openembedded.git $ git clone -b https://git.yoctoproject.org/git/meta-virtualization -$ git clone -b https://github.com/Xilinx/meta-xilinx.git +$ git clone -b https://github.com/Xilinx/meta-xilinx.git --recurse-submodules $ git clone -b https://github.com/Xilinx/meta-xilinx-tools.git ``` -> **Note:** When meta-xilinx layer is cloned using git tool by default it will -> not clone [gen-machine-conf](https://github.com/Xilinx/gen-machine-conf.git) -> repo as submodules, make sure this repo https://github.com/Xilinx/meta-xilinx.git -> is cloned using `--recurse-submodules` option as shown. -> `$ git clone -b https://github.com/Xilinx/meta-xilinx.git --recurse-submodules` -> Skip this step if you are using yocto-manifests https://github.com/Xilinx/yocto-manifests +> **Note:** +> * When meta-xilinx layer is cloned using git tool by default it will clone +> [gen-machine-conf](https://github.com/Xilinx/gen-machine-conf.git) repo as +> submodules, If you don't need to clone gen-machine-conf repo then remove +> `--recurse-submodules` option. +> * Skip this step if you are using yocto-manifests https://github.com/Xilinx/yocto-manifests 3. Initialize a build environment using the `oe-init-build-env` script. ``` -- cgit v1.2.3-54-g00ecf From d9250f22c0d5ee1bc6e8bed31c1dd7f4a4bdf2c4 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 3 May 2024 22:40:03 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_4559 doc: Changelog updates dfeccf: Switchable parameter in YAML Updated with modified lines xilpm: Secure lockdown of LPD is throwing errors Added xilrsa component Embedded SW license update 2024.1 release --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index b2058f08..bc20f3ce 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -13,7 +13,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "e847e1935dca630615e5f7dc694365a44b89699c" -ESW_REV[2024.1] = "b5aeb49ea7dfc76dfd3f3de5fac335abab206ec8" +ESW_REV[2024.1] = "050a9e72c6342d43dfd8e258acde1720f794b637" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or 'INVALID'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" @@ -23,7 +23,7 @@ LICENSE = "MIT" LIC_FILES_CHKSUM[master] = '9fceecdbcad88698f265578f3d4cb26c' LIC_FILES_CHKSUM[xlnx_rel_v2023.1_update] = '3c310a3ee2197a4c92c6a0e2937c207c' LIC_FILES_CHKSUM[xlnx_rel_v2023.2_update] = '9fceecdbcad88698f265578f3d4cb26c' -LIC_FILES_CHKSUM[xlnx_rel_v2024.1] = '443113d5aa8fd5facf31e9c5d25dc114' +LIC_FILES_CHKSUM[xlnx_rel_v2024.1] = '0dcabd3719e5ac33f7c03f0d77d473f2' LIC_FILES_CHKSUM ??= "file://license.txt;md5=${@d.getVarFlag('LIC_FILES_CHKSUM', d.getVar('BRANCH')) or '0'}" SRC_URI = "${EMBEDDEDSW_SRCURI}" -- cgit v1.2.3-54-g00ecf From a0edbae7d7af69240050c9d9dff9e51548d0ce60 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Sat, 4 May 2024 06:21:18 +0530 Subject: aie-rt : Updated SRCREV for 2024.1_7139 driver: src: timer: Setup two broadcast channels for timer sync. driver:src:Fixed some softpartition getting isolated wrongly. --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index 23e3975e..334e2471 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "xlnx_rel_v2024.1" -SRCREV ?= "18e416bca8f2cb1de8956fa8cb8a5ae783f3c2ee" +SRCREV ?= "35b315638accba629b133d0b195099bcc0029ff5" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From ba78a0d00ed5ff75b42c3f9efe996845ba114bdb Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Sat, 4 May 2024 21:29:24 +0530 Subject: aie-rt : Updated SRCREV for 2024.1_7591 driver: src: io_backend: Disabled shim reset bit in _XAie_PrivilegeRstPartShims API. --- meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc index 334e2471..98b3a049 100644 --- a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc +++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt.inc @@ -3,7 +3,7 @@ SECTION = "libs" REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https" BRANCH ?= "xlnx_rel_v2024.1" -SRCREV ?= "35b315638accba629b133d0b195099bcc0029ff5" +SRCREV ?= "56af0110186dfd546c58d96ff1d2f4f2d91f7724" LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM ?= "file://license.txt;md5=04a153cae61a8a606fc79dff49c2c897" -- cgit v1.2.3-54-g00ecf From c3dfe36d51849b4d19e8d15468b1fbf355223eca Mon Sep 17 00:00:00 2001 From: Conall O'Griofa Date: Fri, 3 May 2024 13:54:51 +0100 Subject: lopper: update SRCREV Changelog: lopper: assists: Add num-insts to rfdc node lopper: Update check to adjust DDR start and size address lopper: fix incorrect warning log lopper: assists: baremetallinker: Adjust heap size for microblaze lmb_bram designs having size less than 8k Signed-off-by: Conall O'Griofa Signed-off-by: Mark Hatle --- .../virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend index b8da828d..8a2b7a46 100644 --- a/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend +++ b/meta-xilinx-core/dynamic-layers/virtualization-layer/recipes-kernel/lopper/lopper_git.bbappend @@ -1,5 +1,5 @@ SRC_URI = "git://github.com/devicetree-org/lopper.git;branch=v0.2024.x;protocol=https" -SRCREV = "30bed2bbebeae4c190a74a5d6f26f43a62135041" +SRCREV = "4fb08575157d7712e0cd50e9e9c07620bc9f8b4b" FILESEXTRAPATHS:prepend := "${THISDIR}/lopper:" -- cgit v1.2.3-54-g00ecf From 19b146a887ef386bbd164f6eeb6ee90143420630 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 7 May 2024 06:14:30 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_7019 Merge pull request #13 from embeddedsw/mkoppara-patch-1 Deleted extra spaces --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index bc20f3ce..60e2cbad 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -13,7 +13,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "e847e1935dca630615e5f7dc694365a44b89699c" -ESW_REV[2024.1] = "050a9e72c6342d43dfd8e258acde1720f794b637" +ESW_REV[2024.1] = "145fd23fedde2414f4688deeec8d024e1fffc3b4" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or 'INVALID'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From f96cafa9cf6b40af7cf2ec04b8f13cb30fb3bd0b Mon Sep 17 00:00:00 2001 From: saumya garg Date: Mon, 6 May 2024 14:55:26 +0530 Subject: xrt, zocl: Update commit id Changelog: replacing DMA events for PLIO in profiling (#8132) fixing issue in adf::event crash (#8119) (#8120) cover all stream switch port events (#8118) ZOCL version adjusted to 2.17 for 2024.1 (#8114) (#8115) Signed-off-by: saumya garg Signed-off-by: Sandeep Gundlupet Raju --- meta-xilinx-core/recipes-xrt/xrt/xrt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc index 1de987fa..ef6cd1ce 100644 --- a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc @@ -3,7 +3,7 @@ BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != ' SRC_URI = "${REPO};${BRANCHARG};name=xrt" BRANCH= "2024.1" -SRCREV_xrt = "11f9d2bc6fc61862105093e42cb62c04cf506e51" +SRCREV_xrt = "a09e1a1e8548b8003fb03b8debff92815ee13172" PV = "202410.2.17.0" SRC_URI += "git://github.com/Xilinx/dma_ip_drivers.git;branch=master;name=dma_ip_drivers;destsuffix=git/src/runtime_src/core/pcie/driver/linux/xocl/lib/libqdma;protocol=https" -- cgit v1.2.3-54-g00ecf From 934a0dc89c059635620a00e081bb934352d44da5 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Thu, 9 May 2024 06:14:52 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_7571 Changelog: update for dfe drivers --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 60e2cbad..94683e5d 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -13,7 +13,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "e847e1935dca630615e5f7dc694365a44b89699c" -ESW_REV[2024.1] = "145fd23fedde2414f4688deeec8d024e1fffc3b4" +ESW_REV[2024.1] = "bb86e16253336b13ebc7a1429ca87c1a72f697da" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or 'INVALID'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 286bb6b2d753f2f8edc982f08e5bc7590d4db58d Mon Sep 17 00:00:00 2001 From: saumya garg Date: Wed, 8 May 2024 14:22:09 +0530 Subject: xrt, zocl: update commit id Changelog: Run on centos 8.1 tests (#8151) Fix for CR-1178294: XRT AIE Status .json file does not include tile information for a tile where only memory is used (#8147) (#8150) giving default value for event column (#8144) (#8146) CR-1199552: Fixing mem-bw test for RAVE (#8123) (#8130) Signed-off-by: saumya garg Signed-off-by: Sandeep Gundlupet Raju --- meta-xilinx-core/recipes-xrt/xrt/xrt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc index ef6cd1ce..7125f423 100644 --- a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc @@ -3,7 +3,7 @@ BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != ' SRC_URI = "${REPO};${BRANCHARG};name=xrt" BRANCH= "2024.1" -SRCREV_xrt = "a09e1a1e8548b8003fb03b8debff92815ee13172" +SRCREV_xrt = "ec83e2a3348f3e5158f7a91821e9cf4690462681" PV = "202410.2.17.0" SRC_URI += "git://github.com/Xilinx/dma_ip_drivers.git;branch=master;name=dma_ip_drivers;destsuffix=git/src/runtime_src/core/pcie/driver/linux/xocl/lib/libqdma;protocol=https" -- cgit v1.2.3-54-g00ecf From b4684ff252b4b8c0a9c7939a81fb463bed3dddc7 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Fri, 10 May 2024 06:14:31 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_9531 Revert "Changelog: update for dfe drivers" --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 94683e5d..28ecbdff 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -13,7 +13,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "e847e1935dca630615e5f7dc694365a44b89699c" -ESW_REV[2024.1] = "bb86e16253336b13ebc7a1429ca87c1a72f697da" +ESW_REV[2024.1] = "f18acdefd6afac03df1680bbc17f0867ddc8c693" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or 'INVALID'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From 587616c9b0ce08b9468b3dadc87c9028742b84d2 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Tue, 14 May 2024 12:31:58 +0530 Subject: u-boot-xlnx : Updated SRCREV for 2024.1_3163 Revert "configs: versal: Enable CONFIG_LTO for mini qspi/ospi" --- meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc index 9b99a476..7844468c 100644 --- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc +++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2024.1.inc @@ -2,7 +2,7 @@ UBOOT_VERSION = "v2024.01" UBRANCH = "xlnx_rebase_v2024.01" -SRCREV = "5b0014e7c094c87035b02756fc07b02816bee992" +SRCREV = "fbed1010e50d75e7d25acc1c2d09e1c34cb7e882" LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" -- cgit v1.2.3-54-g00ecf From 4b2a90aa99df635b84fefea5cdf242e8df09c787 Mon Sep 17 00:00:00 2001 From: saumya garg Date: Tue, 14 May 2024 14:08:47 +0530 Subject: xrt, zocl: Update commit id Changelog: fixing reserved memory logic (#8164) (#8165) Fixed rw_shared flag for user managed kernel (#8158) (#8162) Add instructions for installation of xrt package on Alma Linux (#8156) (#8159) Signed-off-by: saumya garg Updated commit message Signed-off-by: Mark Hatle --- .../dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_git.bbappend | 4 ++-- meta-xilinx-core/recipes-xrt/xrt/xrt.inc | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_git.bbappend b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_git.bbappend index e0de911f..20630f09 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_git.bbappend +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_git.bbappend @@ -1,14 +1,14 @@ # Use libmetal for systems with AIE # For vck190 kind of devices PACKAGE_ARCH:versal-ai-core = "${SOC_VARIANT_ARCH}" -EXTRA_OECMAKE:append:versal-ai-core = " -DXRT_AIE_BUILD=true" +EXTRA_OECMAKE:append:versal-ai-core = " -DXRT_AIE_BUILD=true -DFAL_LINUX=on" TARGET_CXXFLAGS:append:versal-ai-core = " -DXRT_ENABLE_AIE" DEPENDS:append:versal-ai-core = " libxaiengine aiefal" RDEPENDS:${PN}:append:versal-ai-core = " libxaiengine aiefal" # For vek280 kind of devices PACKAGE_ARCH:versal-ai-edge = "${SOC_VARIANT_ARCH}" -EXTRA_OECMAKE:append:versal-ai-edge = " -DXRT_AIE_BUILD=true" +EXTRA_OECMAKE:append:versal-ai-edge = " -DXRT_AIE_BUILD=true -DFAL_LINUX=on" TARGET_CXXFLAGS:append:versal-ai-edge = " -DXRT_ENABLE_AIE" DEPENDS:append:versal-ai-edge = " libxaiengine aiefal" RDEPENDS:${PN}:append:versal-ai-edge = " libxaiengine aiefal" diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc index 7125f423..7f366e28 100644 --- a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc @@ -3,7 +3,7 @@ BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != ' SRC_URI = "${REPO};${BRANCHARG};name=xrt" BRANCH= "2024.1" -SRCREV_xrt = "ec83e2a3348f3e5158f7a91821e9cf4690462681" +SRCREV_xrt = "cb210606f06c8e89600dbdb9cc234eed24706400" PV = "202410.2.17.0" SRC_URI += "git://github.com/Xilinx/dma_ip_drivers.git;branch=master;name=dma_ip_drivers;destsuffix=git/src/runtime_src/core/pcie/driver/linux/xocl/lib/libqdma;protocol=https" -- cgit v1.2.3-54-g00ecf From b280d9b3df27058711b8359488edffed60ceebf7 Mon Sep 17 00:00:00 2001 From: Sivaprasad Addepalli Date: Sun, 19 May 2024 13:15:28 +0530 Subject: embeddedsw : Updated SRCREV for 2024.1_6503 xilpm: versal: server: Add XRAM AXI-lite workaround for ES1 devices --- meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass index 28ecbdff..5f85ffd8 100644 --- a/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass +++ b/meta-xilinx-standalone/classes/xlnx-embeddedsw.bbclass @@ -13,7 +13,7 @@ BRANCH ??= "${@d.getVarFlag('ESW_BRANCH', d.getVar('ESW_VER')) or '${ESW_VER}'}" ESW_REV[git] = "${AUTOREV}" ESW_REV[2023.1] = "af784f742dad0ca6e69e05baf8de51152c396b9a" ESW_REV[2023.2] = "e847e1935dca630615e5f7dc694365a44b89699c" -ESW_REV[2024.1] = "f18acdefd6afac03df1680bbc17f0867ddc8c693" +ESW_REV[2024.1] = "b173d246826f662b9a98215d8f39e93d39d699b4" SRCREV ??= "${@d.getVarFlag('ESW_REV', d.getVar('ESW_VER')) or 'INVALID'}" EMBEDDEDSW_BRANCHARG ?= "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH') != '']}" -- cgit v1.2.3-54-g00ecf From f5fbbb753854757ac6c815d4b3caa7fbc30c7183 Mon Sep 17 00:00:00 2001 From: saumya garg Date: Sun, 19 May 2024 00:27:55 +0530 Subject: xrt, zocl : update commit id for 2024.1 Changelog: Fix for CR-1182821: AIE Status was unable to get good data and was outputting empty files (#8178) (#8181) enablign rtp updates from alias name also (#8167) (#8168) Signed-off-by: saumya garg --- .../dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_git.bbappend | 8 ++++---- meta-xilinx-core/recipes-xrt/xrt/xrt.inc | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_git.bbappend b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_git.bbappend index 20630f09..4d21c98b 100644 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_git.bbappend +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_git.bbappend @@ -1,14 +1,14 @@ # Use libmetal for systems with AIE # For vck190 kind of devices PACKAGE_ARCH:versal-ai-core = "${SOC_VARIANT_ARCH}" -EXTRA_OECMAKE:append:versal-ai-core = " -DXRT_AIE_BUILD=true -DFAL_LINUX=on" -TARGET_CXXFLAGS:append:versal-ai-core = " -DXRT_ENABLE_AIE" +EXTRA_OECMAKE:append:versal-ai-core = " -DXRT_AIE_BUILD=true" +TARGET_CXXFLAGS:append:versal-ai-core = " -DXRT_ENABLE_AIE -DFAL_LINUX=on" DEPENDS:append:versal-ai-core = " libxaiengine aiefal" RDEPENDS:${PN}:append:versal-ai-core = " libxaiengine aiefal" # For vek280 kind of devices PACKAGE_ARCH:versal-ai-edge = "${SOC_VARIANT_ARCH}" -EXTRA_OECMAKE:append:versal-ai-edge = " -DXRT_AIE_BUILD=true -DFAL_LINUX=on" -TARGET_CXXFLAGS:append:versal-ai-edge = " -DXRT_ENABLE_AIE" +EXTRA_OECMAKE:append:versal-ai-edge = " -DXRT_AIE_BUILD=true" +TARGET_CXXFLAGS:append:versal-ai-edge = " -DXRT_ENABLE_AIE -DFAL_LINUX=on" DEPENDS:append:versal-ai-edge = " libxaiengine aiefal" RDEPENDS:${PN}:append:versal-ai-edge = " libxaiengine aiefal" diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc index 7f366e28..1c9aea4b 100644 --- a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc @@ -3,7 +3,7 @@ BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != ' SRC_URI = "${REPO};${BRANCHARG};name=xrt" BRANCH= "2024.1" -SRCREV_xrt = "cb210606f06c8e89600dbdb9cc234eed24706400" +SRCREV_xrt = "251149c8f4601d7a9e2b7c7c06e597a8aed04f96" PV = "202410.2.17.0" SRC_URI += "git://github.com/Xilinx/dma_ip_drivers.git;branch=master;name=dma_ip_drivers;destsuffix=git/src/runtime_src/core/pcie/driver/linux/xocl/lib/libqdma;protocol=https" -- cgit v1.2.3-54-g00ecf From 77eba12b28e4258e1f6a8e613902c1b084a170e1 Mon Sep 17 00:00:00 2001 From: saumya garg Date: Mon, 20 May 2024 15:38:32 +0530 Subject: xrt, zocl: final commit id change for 2024.1 Changelog: fixed the incorrect sysfs path (#8182) (#8184) Signed-off-by: saumya garg --- meta-xilinx-core/recipes-xrt/xrt/xrt.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc index 1c9aea4b..7c0f805f 100644 --- a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc @@ -3,7 +3,7 @@ BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != ' SRC_URI = "${REPO};${BRANCHARG};name=xrt" BRANCH= "2024.1" -SRCREV_xrt = "251149c8f4601d7a9e2b7c7c06e597a8aed04f96" +SRCREV_xrt = "a75e9843c875bac0f52d34a1763e39e16fb3c9a7" PV = "202410.2.17.0" SRC_URI += "git://github.com/Xilinx/dma_ip_drivers.git;branch=master;name=dma_ip_drivers;destsuffix=git/src/runtime_src/core/pcie/driver/linux/xocl/lib/libqdma;protocol=https" -- cgit v1.2.3-54-g00ecf