aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--common/conf/machine/include/amd-common-configurations.inc2
-rw-r--r--common/conf/machine/include/amd-common.inc14
-rw-r--r--common/conf/machine/include/amd-features.inc80
-rw-r--r--common/dpdk/recipes-core/images/console-image.bbappend3
-rw-r--r--common/mel/recipes-core/images/console-image.bbappend3
-rw-r--r--common/recipes-core/images/core-image-base.bbappend1
-rw-r--r--common/recipes-sato/images/core-image-sato.bbappend16
-rw-r--r--common/recipes-x11/images/core-image-x11.bbappend1
-rw-r--r--meta-amdfalconx86/conf/machine/amdfalconx86.conf5
-rw-r--r--[-rwxr-xr-x]meta-snowyowl/conf/machine/snowyowl.conf3
-rw-r--r--meta-v1000/conf/machine/v1000.conf4
11 files changed, 94 insertions, 38 deletions
diff --git a/common/conf/machine/include/amd-common-configurations.inc b/common/conf/machine/include/amd-common-configurations.inc
index 49c0bab5..921aa521 100644
--- a/common/conf/machine/include/amd-common-configurations.inc
+++ b/common/conf/machine/include/amd-common-configurations.inc
@@ -1,3 +1,5 @@
+require conf/machine/include/amd-features.inc
+
POKY_DEFAULT_DISTRO_FEATURES_remove = "wayland"
PREFERRED_PROVIDER_jpeg ?= "jpeg"
diff --git a/common/conf/machine/include/amd-common.inc b/common/conf/machine/include/amd-common.inc
deleted file mode 100644
index 16518cee..00000000
--- a/common/conf/machine/include/amd-common.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-IMAGE_INSTALL_append += " \
- bc \
-"
-
-GST_PACKAGES = " \
- ${@bb.utils.contains('DISTRO_FEATURES', 'x11',' \
- gstreamer1.0-meta-x11-base \
- gstreamer1.0-meta-audio \
- gstreamer1.0-meta-debug \
- gstreamer1.0-meta-video \
- gstreamer1.0-omx \
- gstreamer1.0-vaapi', '', d)}"
-
-IMAGE_INSTALL_append_mel += " ${@bb.utils.contains("DISTRO", "mel", "${GST_PACKAGES}", "", d)}"
diff --git a/common/conf/machine/include/amd-features.inc b/common/conf/machine/include/amd-features.inc
new file mode 100644
index 00000000..8ca21083
--- /dev/null
+++ b/common/conf/machine/include/amd-features.inc
@@ -0,0 +1,80 @@
+# This file defines AMD Features that can be added as EXTRA_IMAGE_FEATURES to
+# different machines based on what is supported on a machine. This gives a broad
+# flexibility and control over packages being installed on a machine for any image
+# without needing to create bbappends for all the images that are to be supported.
+#
+# > Each feature can contain packages and packagegroups as its components.
+# > Feature components can be dependent on DISTRO, IMAGE_FEATURE, or any variable
+# in general. e.g.: Components of "amd-feature-graphics" may be dependent on
+# "x11-base" as an IMAGE_FEATURE. Some packages may only be included for a
+# specific DISTRO. Some packages may only be installed if user allows them in
+# local.conf etc.
+# > Each machine must add the required features to EXTRA_IMAGE_FEATURES in its
+# own machine config file.
+# > All required features must be added to a machine regardless of the image
+# being built, but make sure that feature components are included based on
+# dependency conditions. e.g. say "amd-feature-graphics" was added to a machine
+# that supported graphics, but components of this feature must not be installed
+# on an image that is only console based such as "core-image-base", therefore
+# such components must depend on an IMAGE_FEATURE that is based on graphics
+# such as "x11-base".
+# > Each machine can also override feature components in its own machine config
+# when adding the feature to EXTRA_IMAGE_FEATURES. e.g.: A feature may be added
+# to a specific machine with minimal (or extended) packages based on requirement.
+#
+# Features are classified as:
+#
+# * amd-common-pkgs : Common packages to be added to all machines
+# * amd-feature-multimedia : Multimedia packages (it does not depend on graphics because a machine may not have a GUI but could play videos and sounds from console)
+# * amd-feature-graphics : Graphics packages
+# * amd-feature-networking : Networking packages
+# * amd-feature-debug-profile : Debugging and Profiling tools
+# * <add more features here> : <feature summary>
+
+# Add common feartures to be supported for all machines here
+EXTRA_IMAGE_FEATURES += "amd-common-pkgs amd-feature-multimedia"
+
+GST_PACKAGES = " \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11',' \
+ gstreamer1.0-meta-x11-base \
+ gstreamer1.0-meta-audio \
+ gstreamer1.0-meta-debug \
+ gstreamer1.0-meta-video \
+ gstreamer1.0-omx \
+ gstreamer1.0-vaapi', '', d)} \
+"
+VULKAN_COMPONENTS ?= ""
+CODEXL_COMPONENTS ?= ""
+
+# Additional packages can be added to the following feature specific
+# variables from each machine's config file
+AMD_FEATURE_MULTIMEDIA_PKGS ?= ""
+AMD_FEATURE_GRAPHICS_PKGS ?= ""
+AMD_FEATURE_NETWORKING_PKGS ?= ""
+AMD_FEATURE_DEBUG_PROFILE_PKGS ?= ""
+
+FEATURE_PACKAGES_amd-common-pkgs = "\
+ bc \
+"
+
+FEATURE_PACKAGES_amd-feature-multimedia = "\
+ ${@bb.utils.contains("DISTRO", "mel", "${GST_PACKAGES}", "", d)} \
+ ${AMD_FEATURE_MULTIMEDIA_PKGS} \
+"
+
+FEATURE_PACKAGES_amd-feature-graphics = "\
+ ${@bb.utils.contains("INCLUDE_VULKAN", "yes", "${VULKAN_COMPONENTS}", "", d)} \
+ ${AMD_FEATURE_GRAPHICS_PKGS} \
+"
+FEATURE_PACKAGES_amd-feature-graphics_append_amdgpu = " mesa-demos"
+FEATURE_PACKAGES_amd-feature-graphics_append_radeon = " mesa-demos"
+
+FEATURE_PACKAGES_amd-feature-networking = "\
+ ${@bb.utils.contains("DISTRO", "mel", "dpdk dpdk-examples dpdk-test strongswan", "", d)} \
+ ${AMD_FEATURE_NETWORKING_PKGS} \
+"
+
+FEATURE_PACKAGES_amd-feature-debug-profile = "\
+ ${@bb.utils.contains("INCLUDE_CODEXL", "yes", "${CODEXL_COMPONENTS}", "", d)} \
+ ${AMD_FEATURE_DEBUG_PROFILE_PKGS} \
+"
diff --git a/common/dpdk/recipes-core/images/console-image.bbappend b/common/dpdk/recipes-core/images/console-image.bbappend
deleted file mode 100644
index f5527e32..00000000
--- a/common/dpdk/recipes-core/images/console-image.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-IMAGE_INSTALL_append_snowyowl = " dpdk \
- dpdk-examples \
- dpdk-test"
diff --git a/common/mel/recipes-core/images/console-image.bbappend b/common/mel/recipes-core/images/console-image.bbappend
deleted file mode 100644
index c656893c..00000000
--- a/common/mel/recipes-core/images/console-image.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
-require conf/machine/include/amd-common.inc
-
-IMAGE_INSTALL_append_snowyowl = " strongswan"
diff --git a/common/recipes-core/images/core-image-base.bbappend b/common/recipes-core/images/core-image-base.bbappend
deleted file mode 100644
index cb597e98..00000000
--- a/common/recipes-core/images/core-image-base.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require conf/machine/include/amd-common.inc
diff --git a/common/recipes-sato/images/core-image-sato.bbappend b/common/recipes-sato/images/core-image-sato.bbappend
deleted file mode 100644
index 40e53b7f..00000000
--- a/common/recipes-sato/images/core-image-sato.bbappend
+++ /dev/null
@@ -1,16 +0,0 @@
-require conf/machine/include/amd-common.inc
-
-IMAGE_INSTALL_append_amdgpu = " mesa-demos"
-IMAGE_INSTALL_append_radeon = " mesa-demos"
-
-VULKAN_COMPONENTS = ""
-CODEXL_COMPONENTS = ""
-
-VULKAN_COMPONENTS_amdfalconx86 = "glslang spirv-tools vulkan-loader-layers vulkan-tools vulkan-samples"
-CODEXL_COMPONENTS_amdfalconx86 = "codexl codexl-examples"
-
-VULKAN_COMPONENTS_v1000 = "amdvlk glslang spirv-tools vulkan-loader-layers vulkan-tools vulkan-samples"
-
-IMAGE_INSTALL_append = "${@bb.utils.contains("INCLUDE_VULKAN", "yes", " ${VULKAN_COMPONENTS}", "", d)} \
- ${@bb.utils.contains("INCLUDE_CODEXL", "yes", " ${CODEXL_COMPONENTS}", "", d)} \
- "
diff --git a/common/recipes-x11/images/core-image-x11.bbappend b/common/recipes-x11/images/core-image-x11.bbappend
deleted file mode 100644
index cb597e98..00000000
--- a/common/recipes-x11/images/core-image-x11.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require conf/machine/include/amd-common.inc
diff --git a/meta-amdfalconx86/conf/machine/amdfalconx86.conf b/meta-amdfalconx86/conf/machine/amdfalconx86.conf
index 5e1de8af..c69f9936 100644
--- a/meta-amdfalconx86/conf/machine/amdfalconx86.conf
+++ b/meta-amdfalconx86/conf/machine/amdfalconx86.conf
@@ -8,6 +8,11 @@ PREFERRED_VERSION_linux-yocto-rt ?= "4.4%"
require conf/machine/include/tune-amdfalconx86.inc
+# Add machine specific AMD features and feature pkgs here
+EXTRA_IMAGE_FEATURES += "amd-feature-graphics amd-feature-debug-profile"
+VULKAN_COMPONENTS_amdfalconx86 = "glslang spirv-tools vulkan-loader-layers vulkan-tools vulkan-samples"
+CODEXL_COMPONENTS_amdfalconx86 = "codexl codexl-examples"
+
include conf/machine/include/amd-common-configurations.inc
include conf/machine/include/amd-customer-configurations.inc
diff --git a/meta-snowyowl/conf/machine/snowyowl.conf b/meta-snowyowl/conf/machine/snowyowl.conf
index 1035486f..4f3cdd4f 100755..100644
--- a/meta-snowyowl/conf/machine/snowyowl.conf
+++ b/meta-snowyowl/conf/machine/snowyowl.conf
@@ -11,6 +11,9 @@ require conf/machine/include/tune-snowyowl.inc
RELEASE_IMAGE ?= "console-image"
+# Add machine specific AMD features and feature pkgs here
+EXTRA_IMAGE_FEATURES += "amd-feature-networking"
+
include conf/machine/include/amd-common-configurations.inc
include conf/machine/include/amd-customer-configurations.inc
diff --git a/meta-v1000/conf/machine/v1000.conf b/meta-v1000/conf/machine/v1000.conf
index f5bac326..1141ec78 100644
--- a/meta-v1000/conf/machine/v1000.conf
+++ b/meta-v1000/conf/machine/v1000.conf
@@ -9,6 +9,10 @@ PREFERRED_VERSION_mesa ?= "17.3.%"
require conf/machine/include/tune-v1000.inc
+# Add machine specific AMD features and feature pkgs here
+EXTRA_IMAGE_FEATURES += "amd-feature-graphics"
+VULKAN_COMPONENTS_v1000 = "amdvlk glslang spirv-tools vulkan-loader-layers vulkan-tools vulkan-samples"
+
include conf/machine/include/amd-common-configurations.inc
include conf/machine/include/amd-customer-configurations.inc