The resctrl selftest currently fails on Hygon CPUs that support Platform
QoS features, printing the error:

  "# Can not get vendor info..."

This occurs because vendor detection is missing for Hygon CPUs.

Fix this by extending the CPU vendor detection logic to include
Hygon's vendor ID.

Signed-off-by: Xiaochen Shen <[email protected]>
---
 tools/testing/selftests/resctrl/resctrl.h       | 1 +
 tools/testing/selftests/resctrl/resctrl_tests.c | 2 ++
 2 files changed, 3 insertions(+)

diff --git a/tools/testing/selftests/resctrl/resctrl.h 
b/tools/testing/selftests/resctrl/resctrl.h
index d0f094360e6f..2817c9e41797 100644
--- a/tools/testing/selftests/resctrl/resctrl.h
+++ b/tools/testing/selftests/resctrl/resctrl.h
@@ -39,6 +39,7 @@
  */
 #define ARCH_INTEL     BIT(0)
 #define ARCH_AMD       BIT(1)
+#define ARCH_HYGON     BIT(2)
 
 #define END_OF_TESTS   1
 
diff --git a/tools/testing/selftests/resctrl/resctrl_tests.c 
b/tools/testing/selftests/resctrl/resctrl_tests.c
index 08cbd094e936..92cc6aaef338 100644
--- a/tools/testing/selftests/resctrl/resctrl_tests.c
+++ b/tools/testing/selftests/resctrl/resctrl_tests.c
@@ -50,6 +50,8 @@ static unsigned int detect_vendor(void)
                vendor_id = ARCH_INTEL;
        else if (s && !strcmp(s, ": AuthenticAMD\n"))
                vendor_id = ARCH_AMD;
+       else if (s && !strcmp(s, ": HygonGenuine\n"))
+               vendor_id = ARCH_HYGON;
 
        fclose(inf);
        free(res);
-- 
2.47.3


Reply via email to