From 76c3e4b72e2d451b812db4ccd7de83d82f8e96e7 Mon Sep 17 00:00:00 2001 From: Robert Schmidt Date: Thu, 7 Nov 2024 12:41:45 +0100 Subject: [PATCH] Remove x86-specific instructions from telnet server telnetsrv uses the Intel/AMD-specific "cpuid" instruction, which is not available on ARM machines. Remove the call. The previous code was checking for the number of cores, which is retained by a call to get_nprocs(). I did not find an equivalent for the number of threads in C. In C++, there would be https://en.cppreference.com/w/cpp/thread/thread/hardware_concurrency, in case it's relevant for anybody. --- common/utils/telnetsrv/telnetsrv_proccmd.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/common/utils/telnetsrv/telnetsrv_proccmd.c b/common/utils/telnetsrv/telnetsrv_proccmd.c index 4255b20956..f081bb66a1 100644 --- a/common/utils/telnetsrv/telnetsrv_proccmd.c +++ b/common/utils/telnetsrv/telnetsrv_proccmd.c @@ -32,6 +32,7 @@ #define _GNU_SOURCE #include #include +#include #include #include #include @@ -222,11 +223,8 @@ char aname[256]; tdata->numlines = 0; } - unsigned int eax = 11, ebx = 0, ecx = 1, edx = 0; - - asm volatile("cpuid" : "=a"(eax), "=b"(ebx), "=c"(ecx), "=d"(edx) : "0"(eax), "2"(ecx) :); - - prnt("System has %d cores %d threads %d Actual threads", eax, ebx, edx); + int nprocs = get_nprocs(); + prnt("System has %d cores", nprocs); prnt("\n id name state USRmod KRNmod prio nice vsize proc pol \n\n"); snprintf(aname, sizeof(aname), "/proc/%d/stat", getpid());