diff --git a/tuned.changes b/tuned.changes
index f6107a8..d01de75 100644
--- a/tuned.changes
+++ b/tuned.changes
@@ -1,3 +1,11 @@
+-------------------------------------------------------------------
+Wed Jan 16 10:47:12 UTC 2019 - trenn@suse.de
+
+- Differ archs and x86 CPU vendors to avoid wrong warning about a
+ missing intel tool (x86_energy_perf_bias)
+- Remember arch and x86 CPU vendor to allow arch/vendor specific
+ CPU tunings in the future (fate#326694)
+
-------------------------------------------------------------------
Fri Jan 11 18:26:17 UTC 2019 - trenn@suse.de
diff --git a/tuned.spec b/tuned.spec
index 2351e52..73a2b16 100644
--- a/tuned.spec
+++ b/tuned.spec
@@ -30,6 +30,7 @@ Source1: tuned.rpmlintrc
# PATCH-FIX-OPENSUSE fix-allow-receive_sender-default.patch allow receive_* is normally
# not needed as that is the default --
Patch0: fix-allow-receive_sender-default.patch
+Patch1: tuned_differ_x86_and_other_archs_in_cpu_plugin.patch
BuildRequires: bash-completion
BuildRequires: desktop-file-utils
BuildRequires: pkgconfig
diff --git a/tuned_differ_x86_and_other_archs_in_cpu_plugin.patch b/tuned_differ_x86_and_other_archs_in_cpu_plugin.patch
new file mode 100644
index 0000000..34de16a
--- /dev/null
+++ b/tuned_differ_x86_and_other_archs_in_cpu_plugin.patch
@@ -0,0 +1,72 @@
+diff --git a/tuned/plugins/plugin_cpu.py b/tuned/plugins/plugin_cpu.py
+index 8f0babd..241e157 100644
+--- a/tuned/plugins/plugin_cpu.py
++++ b/tuned/plugins/plugin_cpu.py
+@@ -7,6 +7,8 @@ import tuned.consts as consts
+ import os
+ import struct
+ import errno
++import platform
++import procfs
+
+ log = tuned.logs.get()
+
+@@ -22,7 +24,11 @@ class CPULatencyPlugin(base.Plugin):
+ super(CPULatencyPlugin, self).__init__(*args, **kwargs)
+
+ self._has_pm_qos = True
+- self._has_energy_perf_bias = True
++ self._arch = "x86_64"
++ self._is_x86 = False
++ self._is_intel = False
++ self._is_amd = False
++ self._has_energy_perf_bias = False
+ self._has_intel_pstate = False
+
+ self._min_perf_pct_save = None
+@@ -58,6 +64,33 @@ class CPULatencyPlugin(base.Plugin):
+ "no_turbo" : None,
+ }
+
++ def _check_arch(self):
++ intel_archs = [ "x86_64", "i686", "i585", "i486", "i386" ]
++ self._arch = platform.machine()
++
++ if self._arch in intel_archs:
++ # Possible other x86 vendors (from arch/x86/kernel/cpu/*):
++ # "CentaurHauls", "CyrixInstead", "Geode by NSC", "HygonGenuine", "GenuineTMx86",
++ # "TransmetaCPU", "UMC UMC UMC"
++ cpu = procfs.cpuinfo()
++ vendor = cpu.tags.get("vendor_id")
++ if vendor is "GenuineIntel":
++ self._is_intel = True
++ elif vendor is "AuthenticAMD" or vendor is "HygonGenuine":
++ self._is_amd = True
++ else:
++ # We always assign Intel, unless we know better
++ self._is_intel = True
++ log.info("We are running on an x86 %s platform" % vendor)
++ else:
++ log.info("We are running on %s (non x86)" % self._arch)
++
++ if self._is_intel is True:
++ # Check for x86_energy_perf_policy, ignore if not available / supported
++ self._check_energy_perf_bias()
++ # Check for intel_pstate
++ self._check_intel_pstate()
++
+ def _check_energy_perf_bias(self):
+ self._has_energy_perf_bias = False
+ retcode_unsupported = 1
+@@ -110,10 +143,7 @@ class CPULatencyPlugin(base.Plugin):
+ else:
+ instance._load_monitor = None
+
+- # Check for x86_energy_perf_policy, ignore if not available / supported
+- self._check_energy_perf_bias()
+- # Check for intel_pstate
+- self._check_intel_pstate()
++ self._check_arch()
+ else:
+ instance._first_instance = False
+ log.info("Latency settings from non-first CPU plugin instance '%s' will be ignored." % instance.name)