diff --git a/meta-arm-autonomy/recipes-extended/xen-devicetree/files/xen-juno.dtsi b/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen-devicetree/files/xen-juno.dtsi similarity index 100% rename from meta-arm-autonomy/recipes-extended/xen-devicetree/files/xen-juno.dtsi rename to meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen-devicetree/files/xen-juno.dtsi diff --git a/meta-arm-autonomy/recipes-extended/xen-devicetree/xen-devicetree.bbappend b/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen-devicetree/xen-devicetree.bbappend similarity index 100% rename from meta-arm-autonomy/recipes-extended/xen-devicetree/xen-devicetree.bbappend rename to meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen-devicetree/xen-devicetree.bbappend diff --git a/meta-arm-autonomy/recipes-extended/xen/files/4.12/0001-xen-arm-Cap-the-number-of-interrupt-lines-for-dom0.patch b/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen/files/4.12.0/0001-xen-arm-Cap-the-number-of-interrupt-lines-for-dom0.patch similarity index 100% rename from meta-arm-autonomy/recipes-extended/xen/files/4.12/0001-xen-arm-Cap-the-number-of-interrupt-lines-for-dom0.patch rename to meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen/files/4.12.0/0001-xen-arm-Cap-the-number-of-interrupt-lines-for-dom0.patch diff --git a/meta-arm-autonomy/recipes-extended/xen/files/fvp/defconfig b/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen/files/fvp/defconfig similarity index 100% rename from meta-arm-autonomy/recipes-extended/xen/files/fvp/defconfig rename to meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen/files/fvp/defconfig diff --git a/meta-arm-autonomy/recipes-extended/xen/files/juno/defconfig b/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen/files/juno/defconfig similarity index 100% rename from meta-arm-autonomy/recipes-extended/xen/files/juno/defconfig rename to meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen/files/juno/defconfig diff --git a/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen/xen_%.bbappend b/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen/xen_%.bbappend new file mode 100644 index 00000000..bac391ca --- /dev/null +++ b/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xen/xen_%.bbappend @@ -0,0 +1,27 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" + +# Machine specific settings +XEN_CONFIG_EARLY_PRINTK_juno = "juno" +XEN_CONFIG_EARLY_PRINTK_gem5-arm64 = "vexpress" +XEN_CONFIG_EARLY_PRINTK_fvp-base = "fastmodel" +XEN_CONFIG_EARLY_PRINTK_foundation-armv8 = "fastmodel" + +# Foundation-armv8 support +COMPATIBLE_MACHINE_foundation-armv8 = "foundation-armv8" + +SRC_URI_append_foundation-armv8 = " file://fvp/defconfig" + +# FVP Base support +COMPATIBLE_MACHINE_fvp-base = "fvp-base" + +SRC_URI_append_fvp-base = " file://fvp/defconfig" + +# Juno support +COMPATIBLE_MACHINE_juno = "juno" + +SRC_URI_append_juno = " file://juno/defconfig" + +# Gem5 support +# Fix problem with number of interrupts on gem5 +SRC_URI_append_gem5-arm64 = " file://4.12.0/0001-xen-arm-Cap-the-number-of-interrupt-lines-for-dom0.patch" + diff --git a/meta-arm-autonomy/recipes-extended/xenguest/xenguest-manager.bbappend b/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xenguest/xenguest-manager.bbappend similarity index 100% rename from meta-arm-autonomy/recipes-extended/xenguest/xenguest-manager.bbappend rename to meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xenguest/xenguest-manager.bbappend diff --git a/meta-arm-autonomy/recipes-extended/xenguest/xenguest-network-bridge.bbappend b/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xenguest/xenguest-network-bridge.bbappend similarity index 100% rename from meta-arm-autonomy/recipes-extended/xenguest/xenguest-network-bridge.bbappend rename to meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-extended/xenguest/xenguest-network-bridge.bbappend diff --git a/meta-arm-autonomy/recipes-kernel/linux/arm-autonomy-kmeta/features/arm-autonomy/disable-arm64-sve.cfg b/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-kernel/linux/arm-autonomy-kmeta-extra/features/arm-autonomy/disable-arm64-sve.cfg similarity index 100% rename from meta-arm-autonomy/recipes-kernel/linux/arm-autonomy-kmeta/features/arm-autonomy/disable-arm64-sve.cfg rename to meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-kernel/linux/arm-autonomy-kmeta-extra/features/arm-autonomy/disable-arm64-sve.cfg diff --git a/meta-arm-autonomy/recipes-kernel/linux/arm-autonomy-kmeta/features/arm-autonomy/disable-arm64-sve.scc b/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-kernel/linux/arm-autonomy-kmeta-extra/features/arm-autonomy/disable-arm64-sve.scc similarity index 100% rename from meta-arm-autonomy/recipes-kernel/linux/arm-autonomy-kmeta/features/arm-autonomy/disable-arm64-sve.scc rename to meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-kernel/linux/arm-autonomy-kmeta-extra/features/arm-autonomy/disable-arm64-sve.scc diff --git a/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-kernel/linux/linux-%.bbappend b/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-kernel/linux/linux-%.bbappend new file mode 100644 index 00000000..189645af --- /dev/null +++ b/meta-arm-autonomy/dynamic-layers/meta-arm-bsp/recipes-kernel/linux/linux-%.bbappend @@ -0,0 +1,17 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}:" + +# +# arm-autonomy kmeta extra +# +SRC_URI_append = " file://arm-autonomy-kmeta-extra;type=kmeta;name=arm-autonomy-kmeta-extra;destsuffix=arm-autonomy-kmeta-extra" + +# We need to turn off SVE support in the Linux kernel otherwise Xen is stopping +# Linux kernel with a coredump while trying to access XEN bit of CPACR1 core +# register. +LINUX_ARM_AUTONOMY_DISABLE_ARM64_SVE = "${@bb.utils.contains_any('DISTRO_FEATURES', \ + 'arm-autonomy-host arm-autonomy-guest', \ + ' features/arm-autonomy/disable-arm64-sve.scc','',d)}" + +KERNEL_FEATURES_append_gem5-arm64 = "${LINUX_ARM_AUTONOMY_DISABLE_ARM64_SVE}" +KERNEL_FEATURES_append_fvp-base = "${LINUX_ARM_AUTONOMY_DISABLE_ARM64_SVE}" +KERNEL_FEATURES_append_foundation-armv8 = "${LINUX_ARM_AUTONOMY_DISABLE_ARM64_SVE}" diff --git a/meta-arm-autonomy/recipes-extended/xen/xen_%.bbappend b/meta-arm-autonomy/recipes-extended/xen/xen_%.bbappend index fb5962a7..92348e64 100644 --- a/meta-arm-autonomy/recipes-extended/xen/xen_%.bbappend +++ b/meta-arm-autonomy/recipes-extended/xen/xen_%.bbappend @@ -1,37 +1,8 @@ -# xen settings - -FILESEXTRAPATHS_prepend := "${THISDIR}/files:" - # # Define early console based on board parameters # XEN_CONFIG_EARLY_PRINTK ??= "disable" -# Machine specific settings -XEN_CONFIG_EARLY_PRINTK_juno = "juno" -XEN_CONFIG_EARLY_PRINTK_gem5-arm64 = "vexpress" -XEN_CONFIG_EARLY_PRINTK_fvp-base = "fastmodel" -XEN_CONFIG_EARLY_PRINTK_foundation-armv8 = "fastmodel" - EXTRA_OEMAKE += "${@bb.utils.contains('XEN_CONFIG_EARLY_PRINTK', 'disable', \ '', ' CONFIG_DEBUG=y CONFIG_EARLY_PRINTK=${XEN_CONFIG_EARLY_PRINTK}',d)}" - -# Foundation-armv8 support -COMPATIBLE_MACHINE_foundation-armv8 = "foundation-armv8" - -SRC_URI_append_foundation-armv8 = " file://fvp/defconfig" - -# FVP Base support -COMPATIBLE_MACHINE_fvp-base = "fvp-base" - -SRC_URI_append_fvp-base = " file://fvp/defconfig" - -# Juno support -COMPATIBLE_MACHINE_juno = "juno" - -SRC_URI_append_juno = " file://juno/defconfig" - -# Gem5 support -# Fix problem with number of interrupts on gem5 -SRC_URI_append_gem5-arm64 = " file://${XEN_REL}/0001-xen-arm-Cap-the-number-of-interrupt-lines-for-dom0.patch" diff --git a/meta-arm-autonomy/recipes-kernel/linux/linux-arm-autonomy.inc b/meta-arm-autonomy/recipes-kernel/linux/linux-arm-autonomy.inc index bb489502..27634447 100644 --- a/meta-arm-autonomy/recipes-kernel/linux/linux-arm-autonomy.inc +++ b/meta-arm-autonomy/recipes-kernel/linux/linux-arm-autonomy.inc @@ -1,23 +1,12 @@ # Add arm-autonomy specific features to the kernel -FILESEXTRAPATHS_prepend := "${THISDIR}:${THISDIR}/files:" +FILESEXTRAPATHS_prepend := "${THISDIR}:" # # arm-autonomy kmeta # SRC_URI_append = " file://arm-autonomy-kmeta;type=kmeta;name=arm-autonomy-kmeta;destsuffix=arm-autonomy-kmeta" -# We need to turn off SVE support in the Linux kernel otherwise Xen is stopping -# Linux kernel with a coredump while trying to access XEN bit of CPACR1 core -# register. -LINUX_ARM_AUTONOMY_DISABLE_ARM64_SVE = "${@bb.utils.contains_any('DISTRO_FEATURES', \ - 'arm-autonomy-host arm-autonomy-guest', \ - ' features/arm-autonomy/disable-arm64-sve.scc','',d)}" - -KERNEL_FEATURES_append_gem5-arm64 = "${LINUX_ARM_AUTONOMY_DISABLE_ARM64_SVE}" -KERNEL_FEATURES_append_fvp-base = "${LINUX_ARM_AUTONOMY_DISABLE_ARM64_SVE}" -KERNEL_FEATURES_append_foundation-armv8 = "${LINUX_ARM_AUTONOMY_DISABLE_ARM64_SVE}" - # Add xen host drivers to kernel if arm-autonomy-host is activated KERNEL_FEATURES += "${@bb.utils.contains('DISTRO_FEATURES', \