From: Karel Zak Date: Fri, 14 Aug 2020 10:13:38 +0000 (+0200) Subject: lscpu: (topology) add read_configure() X-Git-Tag: v2.37-rc1~343 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8c587fad9f9d19758b7ade69ef25e63d99cdba16;p=thirdparty%2Futil-linux.git lscpu: (topology) add read_configure() Signed-off-by: Karel Zak --- diff --git a/sys-utils/lscpu-api.h b/sys-utils/lscpu-api.h index 3086d80935..a4afd29643 100644 --- a/sys-utils/lscpu-api.h +++ b/sys-utils/lscpu-api.h @@ -49,7 +49,6 @@ struct lscpu_cputype { int dispatching; /* -1 if not evailable, DIST_* */ int freqboost; /* -1 if not evailable */ - int *configured; /* cpu configured */ int physsockets; /* Physical sockets (modules) */ int physchips; /* Physical chips */ int physcoresperchip; /* Physical cores per chip */ @@ -103,6 +102,7 @@ struct lscpu_cpu { int polarization; /* POLAR_* */ int address; /* physical cpu address */ + int configured; /* cpu configured */ }; struct lscpu_arch { diff --git a/sys-utils/lscpu-topology.c b/sys-utils/lscpu-topology.c index 8450847bc9..379c5b3282 100644 --- a/sys-utils/lscpu-topology.c +++ b/sys-utils/lscpu-topology.c @@ -245,6 +245,18 @@ static int read_address(struct lscpu_cxt *cxt, struct lscpu_cpu *cpu) return 0; } +static int read_configure(struct lscpu_cxt *cxt, struct lscpu_cpu *cpu) +{ + struct path_cxt *sys = cxt->syscpu; + int num = cpu->logical_id; + + if (ul_path_accessf(sys, F_OK, "cpu%d/configure", num) != 0) + return 0; + + ul_path_readf_s32(sys, &cpu->configured, "cpu%d/configure", num); + return 0; +} + int lscpu_read_topology(struct lscpu_cxt *cxt) { size_t i; @@ -264,6 +276,8 @@ int lscpu_read_topology(struct lscpu_cxt *cxt) rc = read_polarization(cxt, cpu); if (!rc) rc = read_address(cxt, cpu); + if (!rc) + rc = read_configure(cxt, cpu); } return rc;