@@ -224,14 +224,24 @@ static int get_number_of_mem_ctrls(void)
{
char imc_dir[512], *temp;
unsigned int count = 0;
+ int ret, vendor, size;
struct dirent *ep;
- int ret;
+ char *sysfs_name;
DIR *dp;
+ vendor = get_vendor();
+ if (vendor == ARCH_INTEL) {
+ sysfs_name = UNCORE_IMC;
+ size = sizeof(UNCORE_IMC);
+ } else {
+ perror("Unsupported Vendor!\n");
+ return -1;
+ }
+
dp = opendir(DYN_PMU_PATH);
if (dp) {
while ((ep = readdir(dp))) {
- temp = strstr(ep->d_name, UNCORE_IMC);
+ temp = strstr(ep->d_name, sysfs_name);
if (!temp)
continue;
@@ -242,7 +252,7 @@ static int get_number_of_mem_ctrls(void)
* well and hence the last underscore character in
* uncore_imc'_' need not be counted.
*/
- temp = temp + sizeof(UNCORE_IMC);
+ temp = temp + size;
/*
* Some directories under "DYN_PMU_PATH" could have
Detect the vendor and pass the sysfs name for the vendor for searching the controller information. Signed-off-by: Babu Moger <babu.moger@amd.com> --- tools/testing/selftests/resctrl/resctrl_val.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-)