The resctrl test is not enabled for MPAM (ARM Memory System Resource
Partitioning and Monitoring)
Add processing to detect the ARM architecture.

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

diff --git a/tools/testing/selftests/resctrl/resctrl.h 
b/tools/testing/selftests/resctrl/resctrl.h
index 3c51bdac2dfa..492d2a1c4033 100644
--- a/tools/testing/selftests/resctrl/resctrl.h
+++ b/tools/testing/selftests/resctrl/resctrl.h
@@ -38,6 +38,7 @@
  */
 #define ARCH_INTEL     1
 #define ARCH_AMD       2
+#define ARCH_ARM       3
 
 #define END_OF_TESTS   1
 
diff --git a/tools/testing/selftests/resctrl/resctrl_tests.c 
b/tools/testing/selftests/resctrl/resctrl_tests.c
index 5154ffd821c4..662968d38eca 100644
--- a/tools/testing/selftests/resctrl/resctrl_tests.c
+++ b/tools/testing/selftests/resctrl/resctrl_tests.c
@@ -8,6 +8,7 @@
  *    Sai Praneeth Prakhya <[email protected]>,
  *    Fenghua Yu <[email protected]>
  */
+#include <sys/utsname.h>
 #include "resctrl.h"
 
 /* Volatile memory sink to prevent compiler optimizations */
@@ -26,6 +27,7 @@ static struct resctrl_test *resctrl_tests[] = {
 static int detect_vendor(void)
 {
        FILE *inf = fopen("/proc/cpuinfo", "r");
+       struct utsname system_info;
        int vendor_id = 0;
        char *s = NULL;
        char *res;
@@ -42,6 +44,11 @@ static int detect_vendor(void)
                vendor_id = ARCH_INTEL;
        else if (s && !strcmp(s, ": AuthenticAMD\n"))
                vendor_id = ARCH_AMD;
+       else {
+               uname(&system_info);
+               if (strstr(system_info.machine, "aarch64") != NULL)
+                       vendor_id = ARCH_ARM;
+       }
 
        fclose(inf);
        free(res);
-- 
2.47.3


Reply via email to