From 06bbe868de0931a546d9f18163d85642888ee7a6 Mon Sep 17 00:00:00 2001 From: Bertrand Marquis Date: Fri, 27 Mar 2020 10:50:08 +0000 Subject: [PATCH] arm-autonomy: Create arm64-autonomy-guest machine Create a minimalistic BSP to be used as an arm-autonomy-guest on ARM64. The BSP is enabling ARM64 and SMP in the kernel configuration and is enabling the arm-autonomy-guest in DISTRO_FEATURES. Rework README.md file. Change-Id: I7ef0176a3426748c4b66cdec5801aa34229187ba Issue-Id: SCM-767 Signed-off-by: Bertrand Marquis Reviewed-by: Diego Sueiro Signed-off-by: Jon Mason --- meta-arm-autonomy/README.md | 5 +++++ .../conf/machine/arm64-autonomy-guest.conf | 17 +++++++++++++++++ .../arm64-autonomy-guest-standard.scc | 5 +++++ .../bsp/arm-autonomy/arm64-autonomy-guest.cfg | 2 ++ .../bsp/arm-autonomy/arm64-autonomy-guest.scc | 6 ++++++ .../recipes-kernel/linux/linux-arm-autonomy.inc | 5 +++++ 6 files changed, 40 insertions(+) create mode 100644 meta-arm-autonomy/conf/machine/arm64-autonomy-guest.conf create mode 100644 meta-arm-autonomy/recipes-kernel/linux/arm-autonomy-kmeta/bsp/arm-autonomy/arm64-autonomy-guest-standard.scc create mode 100644 meta-arm-autonomy/recipes-kernel/linux/arm-autonomy-kmeta/bsp/arm-autonomy/arm64-autonomy-guest.cfg create mode 100644 meta-arm-autonomy/recipes-kernel/linux/arm-autonomy-kmeta/bsp/arm-autonomy/arm64-autonomy-guest.scc diff --git a/meta-arm-autonomy/README.md b/meta-arm-autonomy/README.md index e5ad6ed9..ed9d6c93 100644 --- a/meta-arm-autonomy/README.md +++ b/meta-arm-autonomy/README.md @@ -42,6 +42,11 @@ BSPs ---- This layer is adding the following machines: +* arm64-autonomy-guest: this machines creates a minimal BSP suitable to be used + as an autonomy guest. It is in fact only activating ARM64 architecture and + SMP in the linux kernel and is enabling the DISTRO_FEATURE + arm-autonomy-guest. + Images ------ This layer is adding the following images: diff --git a/meta-arm-autonomy/conf/machine/arm64-autonomy-guest.conf b/meta-arm-autonomy/conf/machine/arm64-autonomy-guest.conf new file mode 100644 index 00000000..cb72c601 --- /dev/null +++ b/meta-arm-autonomy/conf/machine/arm64-autonomy-guest.conf @@ -0,0 +1,17 @@ +#@TYPE: Machine +#@NAME: Autonomy Guest ARM64 machine +#@DESCRIPTION: Machine configuration for ARM64 Autonomy Guest + +TUNE_FEATURES = "aarch64" + +require conf/machine/include/arm/arch-armv8a.inc + +KERNEL_IMAGETYPE = "Image" + +IMAGE_FSTYPES += "tar.bz2" + +PREFERRED_PROVIDER_virtual/kernel = "linux-yocto" +PREFERRED_VERSION_linux-yocto ?= "4.19%" + +DISTRO_FEATURES += "arm-autonomy-guest" + diff --git a/meta-arm-autonomy/recipes-kernel/linux/arm-autonomy-kmeta/bsp/arm-autonomy/arm64-autonomy-guest-standard.scc b/meta-arm-autonomy/recipes-kernel/linux/arm-autonomy-kmeta/bsp/arm-autonomy/arm64-autonomy-guest-standard.scc new file mode 100644 index 00000000..7c75d99f --- /dev/null +++ b/meta-arm-autonomy/recipes-kernel/linux/arm-autonomy-kmeta/bsp/arm-autonomy/arm64-autonomy-guest-standard.scc @@ -0,0 +1,5 @@ +define KMACHINE arm64-autonomy-guest +define KTYPE standard +define KARCH arm64 + +include arm64-autonomy-guest.scc diff --git a/meta-arm-autonomy/recipes-kernel/linux/arm-autonomy-kmeta/bsp/arm-autonomy/arm64-autonomy-guest.cfg b/meta-arm-autonomy/recipes-kernel/linux/arm-autonomy-kmeta/bsp/arm-autonomy/arm64-autonomy-guest.cfg new file mode 100644 index 00000000..fcdad985 --- /dev/null +++ b/meta-arm-autonomy/recipes-kernel/linux/arm-autonomy-kmeta/bsp/arm-autonomy/arm64-autonomy-guest.cfg @@ -0,0 +1,2 @@ +CONFIG_ARM64=y +CONFIG_SMP=y diff --git a/meta-arm-autonomy/recipes-kernel/linux/arm-autonomy-kmeta/bsp/arm-autonomy/arm64-autonomy-guest.scc b/meta-arm-autonomy/recipes-kernel/linux/arm-autonomy-kmeta/bsp/arm-autonomy/arm64-autonomy-guest.scc new file mode 100644 index 00000000..e887b4e5 --- /dev/null +++ b/meta-arm-autonomy/recipes-kernel/linux/arm-autonomy-kmeta/bsp/arm-autonomy/arm64-autonomy-guest.scc @@ -0,0 +1,6 @@ +include ktypes/standard/standard.scc +include features/input/input.scc +include features/net/net.scc +include cfg/timer/no_hz.scc + +kconf hardware arm64-autonomy-guest.cfg 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 b2245a5a..8191079a 100644 --- a/meta-arm-autonomy/recipes-kernel/linux/linux-arm-autonomy.inc +++ b/meta-arm-autonomy/recipes-kernel/linux/linux-arm-autonomy.inc @@ -14,3 +14,8 @@ KERNEL_FEATURES += "${@bb.utils.contains('DISTRO_FEATURES', \ # Add xen guest drivers to kernel if arm-autonomy-guest is activated KERNEL_FEATURES += "${@bb.utils.contains('DISTRO_FEATURES', \ 'arm-autonomy-guest', 'features/arm-autonomy/xen-guest.scc', '', d)}" + +# Add support for arm64-autonomy-guest machine +COMPATIBLE_MACHINE_arm64-autonomy-guest = "arm64-autonomy-guest" +KMACHINE_arm64-autonomy-guest = "arm64-autonomy-guest" +