From cf6d54b333a3495244ab7bf4939b933fa9fc2108 Mon Sep 17 00:00:00 2001 From: Alexander Egorenkov Date: Mon, 19 Jul 2021 11:49:31 +0200 Subject: [PATCH] cpumf/lshwc: Fix compile errors due to use of non-standard 32/64 bit types MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Use standard 32- and 64-bit C types. Fixes the following compile errors with buildroot: In file included from lshwc.c:41: lshwc.h:61:2: error: unknown type name ‘__u64’ 61 | __u64 version; /* Version of interface */ | ^~~~~ lshwc.h:62:2: error: unknown type name ‘__u64’ 62 | __u64 data_bytes; /* # of bytes required */ | ^~~~~ lshwc.h:63:2: error: unknown type name ‘__u64’ 63 | __u64 cpumask_len; /* Length of CPU mask in bytes */ | ^~~~~ lshwc.h:64:2: error: unknown type name ‘__u64’ 64 | __u64 *cpumask; /* Pointer to CPU mask */ | ^~~~~ lshwc.h:65:2: error: unknown type name ‘__u64’ 65 | __u64 counter_sets; /* Bit mask of counter set to get */ | ^~~~~ lshwc.h:69:2: error: unknown type name ‘__u32’ 69 | __u32 set; /* Counter set number */ | ^~~~~ Fixes: 27a562da ("cpumf/lshwc: Program to extract complete counter sets") Signed-off-by: Alexander Egorenkov --- cpumf/lshwc.c | 10 +++++----- cpumf/lshwc.h | 23 ++++++++++++----------- 2 files changed, 17 insertions(+), 16 deletions(-) diff --git a/cpumf/lshwc.c b/cpumf/lshwc.c index 39c9fbe2..c7755123 100644 --- a/cpumf/lshwc.c +++ b/cpumf/lshwc.c @@ -240,7 +240,7 @@ static char *show_ctrset(unsigned long set) /* Parse CPU list and counter sets */ static void parse_cpulist(char *parm, struct s390_hwctr_start *start) { - __u64 *words = start->cpumask; + uint64_t *words = start->cpumask; unsigned long i, no_a, no_b; char *cp, *tokens[16]; /* Used to parse command line params */ char cpubuf[256]; @@ -300,7 +300,7 @@ static void parse_cpulist(char *parm, struct s390_hwctr_start *start) /* no_b is highest used index, swap array */ start->cpumask_len = (no_b + 1) * 8; for (no_a = 0; no_a < no_b; ++no_a, --no_b) { - __u64 tmp = words[no_a]; + uint64_t tmp = words[no_a]; words[no_a] = words[no_b]; words[no_b] = tmp; @@ -525,7 +525,7 @@ static int test_read(struct s390_hwctr_read *read) } /* Iterate over all counters in each set */ for (unsigned int k = 0; k < sp->no_cnts; ++k) { - __u64 value; + uint64_t value; void *addr = base + offset; size_t idx = ctrset_offset(sp->set) + k; @@ -608,8 +608,8 @@ static int do_it(char *s) int rc; memset(&start, 0, sizeof(start)); - rc = max_possible_cpus / sizeof(__u64); - start.cpumask = alloca(max_possible_cpus / sizeof(__u64)); + rc = max_possible_cpus / sizeof(uint64_t); + start.cpumask = alloca(max_possible_cpus / sizeof(uint64_t)); memset(start.cpumask, 0, rc); parse_cpulist(s, &start); errno = 0; diff --git a/cpumf/lshwc.h b/cpumf/lshwc.h index d8044dc7..2f6c51b8 100644 --- a/cpumf/lshwc.h +++ b/cpumf/lshwc.h @@ -13,6 +13,7 @@ #ifndef LSHWC_H #define LSHWC_H +#include #include enum { @@ -58,27 +59,27 @@ enum { */ struct s390_hwctr_start { /* Set CPUs to operate on */ - __u64 version; /* Version of interface */ - __u64 data_bytes; /* # of bytes required */ - __u64 cpumask_len; /* Length of CPU mask in bytes */ - __u64 *cpumask; /* Pointer to CPU mask */ - __u64 counter_sets; /* Bit mask of counter set to get */ + uint64_t version; /* Version of interface */ + uint64_t data_bytes; /* # of bytes required */ + uint64_t cpumask_len; /* Length of CPU mask in bytes */ + uint64_t *cpumask; /* Pointer to CPU mask */ + uint64_t counter_sets; /* Bit mask of counter set to get */ }; struct s390_hwctr_setdata { /* Counter set data */ - __u32 set; /* Counter set number */ - __u32 no_cnts; /* # of counters stored in cv[] */ - __u64 cv[0]; /* Counter values (variable length) */ + uint32_t set; /* Counter set number */ + uint32_t no_cnts; /* # of counters stored in cv[] */ + uint64_t cv[0]; /* Counter values (variable length) */ }; struct s390_hwctr_cpudata { /* Counter set data per CPU */ - __u32 cpu_nr; /* Counter set number */ - __u32 no_sets; /* # of counters sets in data[] */ + uint32_t cpu_nr; /* Counter set number */ + uint32_t no_sets; /* # of counters sets in data[] */ struct s390_hwctr_setdata data[0]; }; struct s390_hwctr_read { /* Structure to get all ctr sets */ - __u64 no_cpus; /* Total # of CPUs data taken from */ + uint64_t no_cpus; /* Total # of CPUs data taken from */ struct s390_hwctr_cpudata data[0]; }; -- 2.31.1