All of lore.kernel.org
 help / color / mirror / Atom feed
* [Accel-config] [PATCH] accel-config: Replace unsigned long with uint64_t
@ 2021-03-02 21:48 ramesh.thomas
  0 siblings, 0 replies; only message in thread
From: ramesh.thomas @ 2021-03-02 21:48 UTC (permalink / raw)
  To: accel-config

[-- Attachment #1: Type: text/plain, Size: 27486 bytes --]

From: Ramesh Thomas <ramesh.thomas(a)intel.com>

Makes 64 bit data type portable across 32 bit and 62 bit targets. This
fixes compilation errors reported by 32 bit compilers.

Signed-off-by: Ramesh Thomas <ramesh.thomas(a)intel.com>
Reported-by: Libor Pecháček <lpechacek(a)gmx.com>
Reported-by: Yunying Sun <yunying.sun(a)intel.com>
---
***Please subscribe to mailing list*** 
A server error is not allowing me to authorize postings from
non-subsribers.
Subsribe here -
https://lists.01.org/postorius/lists/accel-config.lists.01.org/ 

 accfg/config.c          | 12 ++++++------
 accfg/config_attr.c     |  2 +-
 accfg/enable.c          |  2 +-
 accfg/lib/libaccfg.c    | 38 +++++++++++++++++++-------------------
 accfg/lib/private.h     | 10 +++++-----
 accfg/libaccel_config.h | 18 +++++++++---------
 accfg/list.c            |  8 ++++----
 ccan/endian/endian.h    |  2 +-
 util/bitmap.c           | 34 +++++++++++++++++-----------------
 util/bitmap.h           | 18 +++++++++---------
 util/filter.h           |  2 +-
 util/json.c             | 32 ++++++++++++++++----------------
 util/json.h             | 18 +++++++++---------
 util/size.c             |  6 +++---
 util/size.h             | 12 +++++++-----
 15 files changed, 108 insertions(+), 106 deletions(-)

diff --git a/accfg/config.c b/accfg/config.c
index dadf679..49f5631 100644
--- a/accfg/config.c
+++ b/accfg/config.c
@@ -32,9 +32,9 @@ static struct config {
 	char *buf;
 } config;
 
-static unsigned long config_opts_to_flags(void)
+static uint64_t config_opts_to_flags(void)
 {
-	unsigned long flags = 0;
+	uint64_t flags = 0;
 	return flags;
 }
 
@@ -47,7 +47,7 @@ struct device_set_table {
 struct wq_set_table {
 	char *name;
 	int (*set_int_func)(struct accfg_wq *wq, int val);
-	int (*set_long_func)(struct accfg_wq *wq, unsigned long val);
+	int (*set_long_func)(struct accfg_wq *wq, uint64_t val);
 	int (*set_str_func)(struct accfg_wq *wq, const char *val);
 	bool (*is_writable)(struct accfg_wq *wq, int val);
 };
@@ -259,7 +259,7 @@ static int wq_json_set_val(struct accfg_wq *wq, json_object *jobj, char *key)
 
 				return 0;
 			} else if (wq_table[i].set_long_func) {
-				unsigned long val = json_object_get_int64(jobj);
+				uint64_t val = json_object_get_int64(jobj);
 
 				if ((val == 0) && (errno == EINVAL))
 					return -errno;
@@ -563,7 +563,7 @@ static int configure_json_value(struct accfg_ctx *ctx,
 }
 
 static struct json_object *config_group_to_json(struct accfg_group *group,
-						unsigned long flags)
+						uint64_t flags)
 {
 	struct json_object *jgroup = json_object_new_object();
 	struct json_object *jobj = NULL;
@@ -819,7 +819,7 @@ static bool filter_group(struct accfg_group *group,
 	struct list_filter_arg *lfa = ctx->list;
 	struct json_object *jgroup;
 	struct json_object *container = lfa->jdevice;
-	unsigned long group_id;
+	uint64_t group_id;
 	struct accfg_device *dev = accfg_group_get_device(group);
 	int max_groups = accfg_device_get_max_groups(dev);
 	struct accfg_json_container *jc = NULL, *iter;
diff --git a/accfg/config_attr.c b/accfg/config_attr.c
index f7f43b1..52a8954 100644
--- a/accfg/config_attr.c
+++ b/accfg/config_attr.c
@@ -134,7 +134,7 @@ static int accel_config_parse_wq_attribs(struct accfg_device *device,
 		struct accfg_wq *wq, struct wq_parameters *wq_params)
 {
 	unsigned int max_groups, max_wq_size, max_batch_size;
-	unsigned long max_transfer_size;
+	uint64_t max_transfer_size;
 	int rc = 0;
 
 	if (wq_params->mode) {
diff --git a/accfg/enable.c b/accfg/enable.c
index 34328ca..df4b887 100644
--- a/accfg/enable.c
+++ b/accfg/enable.c
@@ -237,7 +237,7 @@ static int wq_action(int argc, const char **argv, const char *usage,
 		usage,
 		NULL
 	};
-	unsigned long dev_id, wq_id;
+	uint64_t dev_id, wq_id;
 	int i, rc = 0, success = 0, fail = 0, fail_reason = 0;
 	const char *all = "all";
 	enum accfg_wq_state state;
diff --git a/accfg/lib/libaccfg.c b/accfg/lib/libaccfg.c
index ae862f8..f91f5af 100644
--- a/accfg/lib/libaccfg.c
+++ b/accfg/lib/libaccfg.c
@@ -109,7 +109,7 @@ static long accfg_get_param_long(struct accfg_ctx *ctx, int dfd, char *name)
 	return strtol(buf, NULL, 0);
 }
 
-static unsigned long long accfg_get_param_unsigned_llong(
+static uint64_t accfg_get_param_unsigned_llong(
 		struct accfg_ctx *ctx, int dfd, char *name)
 {
 	int fd = openat(dfd, name, O_RDONLY);
@@ -317,13 +317,13 @@ ACCFG_EXPORT int accfg_new(struct accfg_ctx **ctx)
 
 	env = secure_getenv("ACCFG_TIMEOUT");
 	if (env != NULL) {
-		unsigned long tmo;
+		uint64_t tmo;
 		char *end;
 
 		tmo = strtoul(env, &end, 0);
 		if (tmo < ULONG_MAX && !end)
 			c->timeout = tmo;
-		dbg(c, "timeout = %ld\n", tmo);
+		dbg(c, "timeout = %" PRIu64 "\n", tmo);
 	}
 
 	return 0;
@@ -642,7 +642,7 @@ static void *add_wq(void *parent, int id, const char *wq_base,
 	struct accfg_ctx *ctx;
 	char *path;
 	char *wq_base_string;
-	unsigned long device_id, wq_id;
+	uint64_t device_id, wq_id;
 	int dfd;
 	char *wq_type;
 
@@ -678,7 +678,7 @@ static void *add_wq(void *parent, int id, const char *wq_base,
 	}
 
 	if (sscanf(basename(wq_base_string),
-				"wq%ld.%ld", &device_id, &wq_id) != 2) {
+				"wq%" PRIu64 ".%" PRIu64, &device_id, &wq_id) != 2) {
 		close(dfd);
 		goto err_wq;
 	}
@@ -739,7 +739,7 @@ static void *add_group(void *parent, int id, const char *group_base,
 	char *path;
 	char *group_base_string;
 	int dfd;
-	unsigned long device_id, group_id;
+	uint64_t device_id, group_id;
 
 	if (!device)
 		return NULL;
@@ -770,7 +770,7 @@ static void *add_group(void *parent, int id, const char *group_base,
 		goto err_group;
 	}
 	if (sscanf(basename(group_base_string),
-				"group%ld.%ld", &device_id, &group_id) != 2) {
+				"group%" PRIu64 ".%" PRIu64, &device_id, &group_id) != 2) {
 		free(group);
 		close(dfd);
 		goto err_group;
@@ -828,7 +828,7 @@ static void *add_engine(void *parent, int id, const char *engine_base,
 	char *path;
 	char *engine_base_string;
 	int dfd;
-	unsigned long device_id, engine_id;
+	uint64_t device_id, engine_id;
 
 	if (!device)
 		return NULL;
@@ -861,7 +861,7 @@ static void *add_engine(void *parent, int id, const char *engine_base,
 		goto err_engine;
 	}
 	if (sscanf(basename(engine_base_string),
-			"engine%ld.%ld", &device_id, &engine_id) != 2) {
+			"engine%" PRIu64 ".%" PRIu64, &device_id, &engine_id) != 2) {
 		close(dfd);
 		free(path);
 		free(engine);
@@ -1205,19 +1205,19 @@ ACCFG_EXPORT unsigned int accfg_device_get_max_batch_size(
 	return device->max_batch_size;
 }
 
-ACCFG_EXPORT unsigned long accfg_device_get_max_transfer_size(
+ACCFG_EXPORT uint64_t accfg_device_get_max_transfer_size(
 		struct accfg_device *device)
 {
 	return device->max_transfer_size;
 }
 
-ACCFG_EXPORT unsigned long accfg_device_get_op_cap(
+ACCFG_EXPORT uint64_t accfg_device_get_op_cap(
 		struct accfg_device *device)
 {
 	return device->opcap;
 }
 
-ACCFG_EXPORT unsigned long accfg_device_get_gen_cap(struct accfg_device *device)
+ACCFG_EXPORT uint64_t accfg_device_get_gen_cap(struct accfg_device *device)
 {
 	return device->gencap;
 }
@@ -1257,7 +1257,7 @@ ACCFG_EXPORT int accfg_device_get_errors(struct accfg_device *device,
 		return -errno;
 	read_error = accfg_get_param_str(ctx, dfd, "errors");
 	close(dfd);
-	rc = sscanf(read_error, "%lx %lx %lx %lx",
+	rc = sscanf(read_error, "%" PRIx64 " %" PRIx64 " %" PRIx64 " %" PRIx64,
 			&error->val[0], &error->val[1],
 			&error->val[2], &error->val[3]);
 	if (rc < 0) {
@@ -1626,12 +1626,12 @@ ACCFG_EXPORT const char *accfg_group_get_devname(struct accfg_group *group)
 	return devpath_to_devname(group->group_path);
 }
 
-ACCFG_EXPORT unsigned long accfg_group_get_size(struct accfg_group *group)
+ACCFG_EXPORT uint64_t accfg_group_get_size(struct accfg_group *group)
 {
 	return group->size;
 }
 
-ACCFG_EXPORT unsigned long accfg_group_get_available_size(
+ACCFG_EXPORT uint64_t accfg_group_get_available_size(
 		struct accfg_group *group)
 {
 	struct accfg_ctx *ctx = accfg_group_get_ctx(group);
@@ -1799,7 +1799,7 @@ ACCFG_EXPORT const char *accfg_wq_get_type_name(struct accfg_wq *wq)
 	return wq->name;
 }
 
-ACCFG_EXPORT unsigned long accfg_wq_get_size(struct accfg_wq *wq)
+ACCFG_EXPORT uint64_t accfg_wq_get_size(struct accfg_wq *wq)
 {
 	return wq->size;
 }
@@ -1809,7 +1809,7 @@ ACCFG_EXPORT unsigned int accfg_wq_get_max_batch_size(struct accfg_wq *wq)
 	return wq->max_batch_size;
 }
 
-ACCFG_EXPORT unsigned long accfg_wq_get_max_transfer_size(struct accfg_wq *wq)
+ACCFG_EXPORT uint64_t accfg_wq_get_max_transfer_size(struct accfg_wq *wq)
 {
 	return wq->max_transfer_size;
 }
@@ -2096,7 +2096,7 @@ accfg_wq_set_field(wq, val, max_batch_size)
 
 #define accfg_wq_set_long_field(wq, val, field) \
 ACCFG_EXPORT int accfg_wq_set_##field( \
-		struct accfg_wq *wq, unsigned long val) \
+		struct accfg_wq *wq, uint64_t val) \
 { \
 	struct accfg_ctx *ctx = accfg_wq_get_ctx(wq); \
 	char *path = wq->wq_buf; \
@@ -2105,7 +2105,7 @@ ACCFG_EXPORT int accfg_wq_set_##field( \
 	rc = sprintf(wq->wq_buf, "%s/%s", wq->wq_path, #field); \
 	if (rc < 0) \
 		return -errno; \
-	if (sprintf(buf, "%ld", val) < 0) { \
+	if (sprintf(buf, "%" PRId64, val) < 0) { \
 		err(ctx, "%s: sprintf to buf failed: %s\n", \
 				accfg_wq_get_devname(wq), \
 				strerror(errno)); \
diff --git a/accfg/lib/private.h b/accfg/lib/private.h
index e36a474..24e2ee8 100644
--- a/accfg/lib/private.h
+++ b/accfg/lib/private.h
@@ -51,9 +51,9 @@ struct accfg_device {
 	unsigned int token_limit;
 	unsigned int cdev_major;
 	unsigned int version;
-	unsigned long max_transfer_size;
-	unsigned long opcap;
-	unsigned long gencap;
+	uint64_t max_transfer_size;
+	uint64_t opcap;
+	uint64_t gencap;
 	char *pasid_enabled;
 };
 
@@ -124,7 +124,7 @@ struct accfg_wq {
 	enum accfg_wq_type type;
 	char *state;
 	unsigned int max_batch_size;
-	unsigned long max_transfer_size;
+	uint64_t max_transfer_size;
 };
 
 #define ACCFG_EXPORT __attribute__ ((visibility("default")))
@@ -144,7 +144,7 @@ struct accfg_ctx {
         int devices_init;
 	int groups_init;
 	struct list_head devices;
-        unsigned long timeout;
+	uint64_t timeout;
         void *private_data;
 };
 
diff --git a/accfg/libaccel_config.h b/accfg/libaccel_config.h
index 0814601..95bb5d2 100644
--- a/accfg/libaccel_config.h
+++ b/accfg/libaccel_config.h
@@ -102,7 +102,7 @@ struct wq_parameters {
 	unsigned int priority;
 	int block_on_fault;
 	unsigned int max_batch_size;
-	unsigned long max_transfer_size;
+	uint64_t max_transfer_size;
 	const char *mode;
 	const char *type;
 	const char *name;
@@ -167,9 +167,9 @@ unsigned int accfg_device_get_max_work_queues_size(struct accfg_device *device);
 int accfg_device_get_numa_node(struct accfg_device *device);
 unsigned int accfg_device_get_ims_size(struct accfg_device *device);
 unsigned int accfg_device_get_max_batch_size(struct accfg_device *device);
-unsigned long accfg_device_get_max_transfer_size(struct accfg_device *device);
-unsigned long accfg_device_get_op_cap(struct accfg_device *device);
-unsigned long accfg_device_get_gen_cap(struct accfg_device *device);
+uint64_t accfg_device_get_max_transfer_size(struct accfg_device *device);
+uint64_t accfg_device_get_op_cap(struct accfg_device *device);
+uint64_t accfg_device_get_gen_cap(struct accfg_device *device);
 unsigned int accfg_device_get_configurable(struct accfg_device *device);
 bool accfg_device_get_pasid_enabled(struct accfg_device  *device);
 bool accfg_device_get_mdev_enabled(struct accfg_device *device);
@@ -213,8 +213,8 @@ struct accfg_group *accfg_device_group_get_by_id(struct accfg_device *device,
 						int id);
 int accfg_group_get_device_id(struct accfg_group *group);
 const char *accfg_group_get_devname(struct accfg_group *group);
-unsigned long accfg_group_get_size(struct accfg_group *group);
-unsigned long accfg_group_get_available_size(struct accfg_group *group);
+uint64_t accfg_group_get_size(struct accfg_group *group);
+uint64_t accfg_group_get_available_size(struct accfg_group *group);
 struct accfg_device *accfg_group_get_device(struct accfg_group *group);
 struct accfg_ctx *accfg_group_get_ctx(struct accfg_group *group);
 int accfg_group_get_tokens_reserved(struct accfg_group *group);
@@ -247,7 +247,7 @@ struct accfg_wq *accfg_device_wq_get_by_id(struct accfg_device *device,
 					int id);
 const char *accfg_wq_get_devname(struct accfg_wq *wq);
 enum accfg_wq_mode accfg_wq_get_mode(struct accfg_wq *wq);
-unsigned long accfg_wq_get_size(struct accfg_wq *wq);
+uint64_t accfg_wq_get_size(struct accfg_wq *wq);
 int accfg_wq_get_group_id(struct accfg_wq *wq);
 int accfg_wq_get_priority(struct accfg_wq *wq);
 unsigned int accfg_wq_get_priv(struct accfg_wq *wq);
@@ -257,7 +257,7 @@ int accfg_wq_get_cdev_minor(struct accfg_wq *wq);
 const char *accfg_wq_get_type_name(struct accfg_wq *wq);
 enum accfg_wq_type accfg_wq_get_type(struct accfg_wq *wq);
 unsigned int accfg_wq_get_max_batch_size(struct accfg_wq *wq);
-unsigned long accfg_wq_get_max_transfer_size(struct accfg_wq *wq);
+uint64_t accfg_wq_get_max_transfer_size(struct accfg_wq *wq);
 int accfg_wq_get_threshold(struct accfg_wq *wq);
 int accfg_wq_get_clients(struct accfg_wq *wq);
 int accfg_wq_is_enabled(struct accfg_wq *wq);
@@ -267,7 +267,7 @@ int accfg_wq_set_group_id(struct accfg_wq *wq, int val);
 int accfg_wq_set_threshold(struct accfg_wq *wq, int val);
 int accfg_wq_set_block_on_fault(struct accfg_wq *wq, int val);
 int accfg_wq_set_max_batch_size(struct accfg_wq *wq, int val);
-int accfg_wq_set_max_transfer_size(struct accfg_wq *wq, unsigned long val);
+int accfg_wq_set_max_transfer_size(struct accfg_wq *wq, uint64_t val);
 int accfg_wq_set_str_mode(struct accfg_wq *wq, const char* val);
 int accfg_wq_set_mode(struct accfg_wq *wq, enum accfg_wq_mode mode);
 int accfg_wq_set_str_type(struct accfg_wq *wq, const char* val);
diff --git a/accfg/list.c b/accfg/list.c
index 2234e65..998ebdd 100644
--- a/accfg/list.c
+++ b/accfg/list.c
@@ -25,9 +25,9 @@ static struct {
 	bool save_conf;
 } list;
 
-static unsigned long listopts_to_flags(void)
+static uint64_t listopts_to_flags(void)
 {
-	unsigned long flags = 0;
+	uint64_t flags = 0;
 
 	if (list.idle)
 		flags |= UTIL_JSON_IDLE;
@@ -50,7 +50,7 @@ do { \
 } while (0)
 
 static struct json_object *group_to_json(struct accfg_group *group,
-		unsigned long flags)
+		uint64_t flags)
 {
 	struct json_object *jgroup = json_object_new_object();
 	struct json_object *jobj = NULL;
@@ -249,7 +249,7 @@ static bool filter_engine(struct accfg_engine *engine,
 static bool filter_group(struct accfg_group *group,
 			 struct util_filter_ctx *ctx)
 {
-	unsigned long group_id;
+	uint64_t group_id;
 	struct list_filter_arg *lfa = ctx->list;
 	struct json_object *jgroup;
 	struct json_object *container = lfa->jdevice;
diff --git a/ccan/endian/endian.h b/ccan/endian/endian.h
index dc9f62e..85ee0c9 100644
--- a/ccan/endian/endian.h
+++ b/ccan/endian/endian.h
@@ -95,7 +95,7 @@ static inline uint32_t bswap_32(uint32_t val)
  * Example:
  *	// Output contains "1024 is 1125899906842624 as eight bytes reversed"
  *	printf("1024 is %llu as eight bytes reversed\n",
- *		(unsigned long long)bswap_64(1024));
+ *		(uint64_t long)bswap_64(1024));
  */
 static inline uint64_t bswap_64(uint64_t val)
 {
diff --git a/util/bitmap.c b/util/bitmap.c
index 2f393f2..664251d 100644
--- a/util/bitmap.c
+++ b/util/bitmap.c
@@ -22,17 +22,17 @@
 #include <ccan/minmax/minmax.h>
 #include <ccan/short_types/short_types.h>
 
-unsigned long *bitmap_alloc(unsigned long nbits)
+uint64_t *bitmap_alloc(uint64_t nbits)
 {
-	return calloc(BITS_TO_LONGS(nbits), sizeof(unsigned long));
+	return calloc(BITS_TO_LONGS(nbits), sizeof(uint64_t));
 }
 
-void bitmap_set(unsigned long *map, unsigned int start, int len)
+void bitmap_set(uint64_t *map, unsigned int start, int len)
 {
-	unsigned long *p = map + BIT_WORD(start);
+	uint64_t *p = map + BIT_WORD(start);
 	const unsigned int size = start + len;
 	int bits_to_set = BITS_PER_LONG - (start % BITS_PER_LONG);
-	unsigned long mask_to_set = BITMAP_FIRST_WORD_MASK(start);
+	uint64_t mask_to_set = BITMAP_FIRST_WORD_MASK(start);
 
 	while (len - bits_to_set >= 0) {
 		*p |= mask_to_set;
@@ -47,12 +47,12 @@ void bitmap_set(unsigned long *map, unsigned int start, int len)
 	}
 }
 
-void bitmap_clear(unsigned long *map, unsigned int start, int len)
+void bitmap_clear(uint64_t *map, unsigned int start, int len)
 {
-	unsigned long *p = map + BIT_WORD(start);
+	uint64_t *p = map + BIT_WORD(start);
 	const unsigned int size = start + len;
 	int bits_to_clear = BITS_PER_LONG - (start % BITS_PER_LONG);
-	unsigned long mask_to_clear = BITMAP_FIRST_WORD_MASK(start);
+	uint64_t mask_to_clear = BITMAP_FIRST_WORD_MASK(start);
 
 	while (len - bits_to_clear >= 0) {
 		*p &= ~mask_to_clear;
@@ -72,7 +72,7 @@ void bitmap_clear(unsigned long *map, unsigned int start, int len)
  * @nr: bit number to test
  * @addr: Address to start counting from
  */
-int test_bit(unsigned int nr, const volatile unsigned long *addr)
+int test_bit(unsigned int nr, const volatile uint64_t *addr)
 {
 	return 1UL & (addr[BIT_WORD(nr)] >> (nr & (BITS_PER_LONG-1)));
 }
@@ -82,10 +82,10 @@ int test_bit(unsigned int nr, const volatile unsigned long *addr)
  * find_next_zero_bit.  The difference is the "invert" argument, which
  * is XORed with each fetched word before searching it for one bits.
  */
-static unsigned long _find_next_bit(const unsigned long *addr,
-		unsigned long nbits, unsigned long start, unsigned long invert)
+static uint64_t _find_next_bit(const uint64_t *addr,
+		uint64_t nbits, uint64_t start, uint64_t invert)
 {
-	unsigned long tmp;
+	uint64_t tmp;
 
 	if (!nbits || start >= nbits)
 		return nbits;
@@ -110,19 +110,19 @@ static unsigned long _find_next_bit(const unsigned long *addr,
 /*
  * Find the next set bit in a memory region.
  */
-unsigned long find_next_bit(const unsigned long *addr, unsigned long size,
-			    unsigned long offset)
+uint64_t find_next_bit(const uint64_t *addr, uint64_t size,
+			    uint64_t offset)
 {
 	return _find_next_bit(addr, size, offset, 0UL);
 }
 
-unsigned long find_next_zero_bit(const unsigned long *addr, unsigned long size,
-				 unsigned long offset)
+uint64_t find_next_zero_bit(const uint64_t *addr, uint64_t size,
+				 uint64_t offset)
 {
 	return _find_next_bit(addr, size, offset, ~0UL);
 }
 
-int bitmap_full(const unsigned long *src, unsigned int nbits)
+int bitmap_full(const uint64_t *src, unsigned int nbits)
 {
 	if (small_const_nbits(nbits))
 		return ! (~(*src) & BITMAP_LAST_WORD_MASK(nbits));
diff --git a/util/bitmap.h b/util/bitmap.h
index e88ca63..b72fd65 100644
--- a/util/bitmap.h
+++ b/util/bitmap.h
@@ -21,15 +21,15 @@
 #define small_const_nbits(nbits) \
 	(__builtin_constant_p(nbits) && (nbits) <= BITS_PER_LONG)
 
-unsigned long *bitmap_alloc(unsigned long nbits);
-void bitmap_set(unsigned long *map, unsigned int start, int len);
-void bitmap_clear(unsigned long *map, unsigned int start, int len);
-int test_bit(unsigned int nr, const volatile unsigned long *addr);
-unsigned long find_next_bit(const unsigned long *addr, unsigned long size,
-			    unsigned long offset);
-unsigned long find_next_zero_bit(const unsigned long *addr, unsigned long size,
-				 unsigned long offset);
-int bitmap_full(const unsigned long *src, unsigned int nbits);
+uint64_t *bitmap_alloc(uint64_t nbits);
+void bitmap_set(uint64_t *map, unsigned int start, int len);
+void bitmap_clear(uint64_t *map, unsigned int start, int len);
+int test_bit(unsigned int nr, const volatile uint64_t *addr);
+uint64_t find_next_bit(const uint64_t *addr, uint64_t size,
+			    uint64_t offset);
+uint64_t find_next_zero_bit(const uint64_t *addr, uint64_t size,
+				 uint64_t offset);
+int bitmap_full(const uint64_t *src, unsigned int nbits);
 
 
 #endif /* _ACCFG_BITMAP_H_ */
diff --git a/util/filter.h b/util/filter.h
index 1ab496f..4ba0837 100644
--- a/util/filter.h
+++ b/util/filter.h
@@ -62,7 +62,7 @@ struct list_filter_arg {
 	/* linked list node for each list_filter_arg */
 	struct list_node list;
 	/* flags to indicate command options */
-	unsigned long flags;
+	uint64_t flags;
 	/* track device number during walk-through */
 	int dev_num;
 	/* track group_num during walk-through */
diff --git a/util/json.c b/util/json.c
index f8ace0d..c3f2ade 100644
--- a/util/json.c
+++ b/util/json.c
@@ -27,7 +27,7 @@ static const char *wq_type_str[] = {
 static int display_size(struct json_object *jobj, struct printbuf *pbuf,
 			int level, int flags)
 {
-	unsigned long long bytes = json_object_get_int64(jobj);
+	uint64_t bytes = json_object_get_int64(jobj);
 	static char buf[128];
 	int c;
 
@@ -43,7 +43,7 @@ static int display_size(struct json_object *jobj, struct printbuf *pbuf,
 	 */
 
 	if (bytes < 5000 * 1024)
-		snprintf(buf, sizeof(buf), "%lld", bytes);
+		snprintf(buf, sizeof(buf), "%" PRId64, bytes);
 	else {
 		/* IEC */
 		if (bytes < 2 * 1024LL * 1024LL * 1024LL) {
@@ -78,14 +78,14 @@ static int display_size(struct json_object *jobj, struct printbuf *pbuf,
 static int display_hex(struct json_object *jobj, struct printbuf *pbuf,
 		       int level, int flags)
 {
-	unsigned long long val = json_object_get_int64(jobj);
+	uint64_t val = json_object_get_int64(jobj);
 	static char buf[32];
-	snprintf(buf, sizeof(buf), "\"%#llx\"", val);
+	snprintf(buf, sizeof(buf), "\"%#" PRIx64 "\"", val);
 	return printbuf_memappend(pbuf, buf, strlen(buf));
 }
 
-struct json_object *util_json_object_size(unsigned long long size,
-					  unsigned long flags)
+struct json_object *util_json_object_size(uint64_t size,
+					  uint64_t flags)
 {
 	struct json_object *jobj = json_object_new_int64(size);
 
@@ -94,8 +94,8 @@ struct json_object *util_json_object_size(unsigned long long size,
 	return jobj;
 }
 
-struct json_object *util_json_object_hex(unsigned long long val,
-					 unsigned long flags)
+struct json_object *util_json_object_hex(uint64_t val,
+					 uint64_t flags)
 {
 	struct json_object *jobj = json_object_new_int64(val);
 
@@ -106,7 +106,7 @@ struct json_object *util_json_object_hex(unsigned long long val,
 
 /* API used to output json object display to console */
 void util_display_json_array(FILE * f_out, struct json_object *jarray,
-			     unsigned long flags)
+			     uint64_t flags)
 {
 	int len = json_object_array_length(jarray);
 	int jflag = JSON_C_TO_STRING_PRETTY;
@@ -125,7 +125,7 @@ void util_display_json_array(FILE * f_out, struct json_object *jarray,
 
 /* API used to output json object display to specified file */
 void __util_display_json_array(FILE * fd, struct json_object *jarray,
-			     unsigned long flags)
+			     uint64_t flags)
 {
 	int len = json_object_array_length(jarray);
 	int jflag = JSON_C_TO_STRING_PRETTY;
@@ -143,15 +143,15 @@ void __util_display_json_array(FILE * fd, struct json_object *jarray,
 }
 
 struct json_object *util_device_to_json(struct accfg_device *device,
-					unsigned long flags)
+					uint64_t flags)
 {
 	struct json_object *jdevice = json_object_new_object();
 	struct json_object *jobj;
 	struct accfg_error *error;
 	enum accfg_device_state dev_state;
 	int int_val;
-	unsigned long ulong_val;
-	unsigned long long ullong_val;
+	uint64_t ulong_val;
+	uint64_t ullong_val;
 	bool new_bool;
 	struct accfg_device_mdev *mdev;
 	struct json_object *json_uuid;
@@ -386,11 +386,11 @@ err:
 }
 
 struct json_object *util_wq_to_json(struct accfg_wq *wq,
-				    unsigned long flags)
+				    uint64_t flags)
 {
 	struct json_object *jaccfg = json_object_new_object();
 	struct json_object *jobj = NULL;
-	unsigned long size = ULLONG_MAX;
+	uint64_t size = ULLONG_MAX;
 	enum accfg_wq_mode wq_mode;
 	enum accfg_wq_state wq_state;
 	int int_val;
@@ -501,7 +501,7 @@ err:
 }
 
 struct json_object *util_engine_to_json(struct accfg_engine *engine,
-					unsigned long flags)
+					uint64_t flags)
 {
 	struct json_object *jaccfg = json_object_new_object();
 	struct json_object *jobj = NULL;
diff --git a/util/json.h b/util/json.h
index 5bf685b..c185f80 100644
--- a/util/json.h
+++ b/util/json.h
@@ -17,17 +17,17 @@ enum util_json_flags {
 
 struct json_object;
 void util_display_json_array(FILE *f_out, struct json_object *jarray,
-		unsigned long flags);
+		uint64_t flags);
 void __util_display_json_array(FILE *fd, struct json_object *jarray,
-                unsigned long flags);
+		uint64_t flags);
 struct json_object *util_device_to_json(struct accfg_device *device,
-		unsigned long flags);
+		uint64_t flags);
 struct json_object *util_wq_to_json(struct accfg_wq *accfg_wq,
-		unsigned long flags);
+		uint64_t flags);
 struct json_object *util_engine_to_json(struct accfg_engine *accfg_engine,
-                unsigned long flags);
-struct json_object *util_json_object_size(unsigned long long size,
-		unsigned long flags);
-struct json_object *util_json_object_hex(unsigned long long val,
-		unsigned long flags);
+		uint64_t flags);
+struct json_object *util_json_object_size(uint64_t size,
+		uint64_t flags);
+struct json_object *util_json_object_hex(uint64_t val,
+		uint64_t flags);
 #endif /* __ACCFG_JSON_H__ */
diff --git a/util/size.c b/util/size.c
index 5f15dee..f3ef67a 100644
--- a/util/size.c
+++ b/util/size.c
@@ -5,9 +5,9 @@
 #include <limits.h>
 #include <util/size.h>
 
-unsigned long long __parse_size64(const char *str, unsigned long long *units)
+uint64_t __parse_size64(const char *str, uint64_t *units)
 {
-	unsigned long long val, check;
+	uint64_t val, check;
 	char *end;
 
 	val = strtoull(str, &end, 0);
@@ -54,7 +54,7 @@ unsigned long long __parse_size64(const char *str, unsigned long long *units)
 	return val;
 }
 
-unsigned long long parse_size64(const char *str)
+uint64_t parse_size64(const char *str)
 {
 	return __parse_size64(str, NULL);
 }
diff --git a/util/size.h b/util/size.h
index ffca256..c35ec45 100644
--- a/util/size.h
+++ b/util/size.h
@@ -4,6 +4,8 @@
 #ifndef _ACCFG_SIZE_H_
 #define _ACCFG_SIZE_H_
 
+#include <stdint.h>
+
 #define SZ_1K     0x00000400
 #define SZ_4K     0x00001000
 #define SZ_1M     0x00100000
@@ -14,12 +16,12 @@
 #define SZ_1G     0x40000000
 #define SZ_1T 0x10000000000ULL
 
-unsigned long long parse_size64(const char *str);
-unsigned long long __parse_size64(const char *str, unsigned long long *units);
+uint64_t parse_size64(const char *str);
+uint64_t __parse_size64(const char *str, uint64_t *units);
 
-#define ALIGN(x, a) ((((unsigned long long) x) + (a - 1)) & ~(a - 1))
-#define ALIGN_DOWN(x, a) (((((unsigned long long) x) + a) & ~(a - 1)) - a)
-#define BITS_PER_LONG (sizeof(unsigned long) * 8)
+#define ALIGN(x, a) ((((uint64_t) x) + (a - 1)) & ~(a - 1))
+#define ALIGN_DOWN(x, a) (((((uint64_t) x) + a) & ~(a - 1)) - a)
+#define BITS_PER_LONG (sizeof(uint64_t) * 8)
 #define HPAGE_SIZE (2 << 20)
 
 #endif /* _ACCFG_SIZE_H_ */
-- 
2.26.2

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2021-03-02 21:48 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-02 21:48 [Accel-config] [PATCH] accel-config: Replace unsigned long with uint64_t ramesh.thomas

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.