File s390-tools-sles15sp2-42-Consolidate-ALIGN-__ALIGN_MASK-ARRAY_SIZE-macros.patch of Package s390-tools.16701

Subject: [PATCH] [FEAT VS1804] Consolidate `ALIGN, __ALIGN_MASK, ARRAY_SIZE` macros
From: Marc Hartmayer <mhartmay@linux.ibm.com>

Summary:     genprotimg: Introduce new tool for the creation of PV images
Description: genprotimg takes a kernel, host-key documents, optionally an
             initrd, optionally a file with the kernel command line, and it
             generates a single, loadable image file. The image consists of a
             concatenation of a plain text boot loader, the encrypted
             components for kernel, initrd, and cmdline, and the
             integrity-protected PV header, containing metadata necessary for
             running the guest in PV mode. It's possible to use this image file
             as a kernel for zIPL or for a direct kernel boot using QEMU.
Upstream-ID: 67aef9bbf3b5d18c70e8c4a45734bcb6d6744a8c
Problem-ID:  VS1804

Upstream-Description:

             Consolidate `ALIGN, __ALIGN_MASK, ARRAY_SIZE` macros

             Consolidate `ALIGN, __ALIGN_MASK, ARRAY_SIZE` macros and add them to
             lib/zt_common.h. While at it, adapt coding style.

             Reviewed-by: Philipp Rudo <prudo@linux.ibm.com>
             Reviewed-by: Stefan Haberland <sth@linux.ibm.com>
             Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
             Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>


Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com>
---
 cmsfs-fuse/dasd.c       |    1 +
 cmsfs-fuse/helper.h     |    2 --
 include/lib/zt_common.h |    4 ++++
 zconf/qeth/misc.h       |    2 --
 zdev/include/misc.h     |    2 +-
 zdump/zg.c              |    2 +-
 zdump/zg.h              |    3 ---
 zipl/include/zipl.h     |    4 ----
 8 files changed, 7 insertions(+), 13 deletions(-)

--- a/cmsfs-fuse/dasd.c
+++ b/cmsfs-fuse/dasd.c
@@ -19,6 +19,7 @@
 #include <sys/types.h>
 #include <unistd.h>
 
+#include "lib/zt_common.h"
 #include "cmsfs-fuse.h"
 #include "edf.h"
 #include "helper.h"
--- a/cmsfs-fuse/helper.h
+++ b/cmsfs-fuse/helper.h
@@ -49,6 +49,4 @@ extern FILE *logfile;
 		fprintf(stderr, COMP "Warning, " __VA_ARGS__);		\
 	} while (0)
 
-#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
-
 #endif
--- a/include/lib/zt_common.h
+++ b/include/lib/zt_common.h
@@ -44,6 +44,10 @@
 # define STATIC_ASSERT(test)
 #endif
 
+#define ALIGN(x, a)		__ALIGN_MASK(x, (typeof(x))(a) - 1)
+#define __ALIGN_MASK(x, mask)	(((x) + (mask)) & ~(mask))
+#define ARRAY_SIZE(x)		(sizeof(x) / sizeof((x)[0]))
+
 #define RELEASE_STRING	STRINGIFY (S390_TOOLS_RELEASE)
 #define TOOLS_LIBDIR	STRINGIFY (S390_TOOLS_LIBDIR)
 #define TOOLS_SYSCONFDIR STRINGIFY (S390_TOOLS_SYSCONFDIR)
--- a/zconf/qeth/misc.h
+++ b/zconf/qeth/misc.h
@@ -12,8 +12,6 @@
 
 #include <stdbool.h>
 
-#define ARRAY_SIZE(x)	(sizeof(x) / sizeof(x[0]))
-
 char *misc_link_target(const char *fmt, ...);
 bool misc_str_in_list(const char *str, const char *strings[], int array_size);
 int misc_argz_add_from_file(char **argz, size_t *argz_len,
--- a/zdev/include/misc.h
+++ b/zdev/include/misc.h
@@ -15,10 +15,10 @@
 #include <stdio.h>
 #include <stdlib.h>
 
+#include "lib/zt_common.h"
 #include "lib/util_list.h"
 #include "exit_code.h"
 
-#define ARRAY_SIZE(x)	(sizeof(x) / sizeof((x)[0]))
 #define SCOPE_ACTIVE(x)		((x) & config_active ? 1 : 0)
 #define SCOPE_PERSISTENT(x)	((x) & config_persistent ? 1 : 0)
 #define SCOPE_AUTOCONF(x)	((x) & config_autoconf ? 1 : 0)
--- a/zdump/zg.c
+++ b/zdump/zg.c
@@ -432,7 +432,7 @@ char *zg_devnode_create(dev_t dev)
 	char *file_path;
 	unsigned int i;
 
-	for (i = 0; i < ARRAY_ELEMENT_CNT(dir_vec); i++) {
+	for (i = 0; i < ARRAY_SIZE(dir_vec); i++) {
 		if (dir_vec[i] == NULL)
 			continue;
 		file_path = devnode_create_dir(dir_vec[i], dev);
--- a/zdump/zg.h
+++ b/zdump/zg.h
@@ -122,10 +122,7 @@ do { \
  * Misc
  */
 #define PAGE_SIZE 4096UL
-#define ALIGN(x, a) __ALIGN_MASK(x, (typeof(x))(a)-1)
-#define __ALIGN_MASK(x, mask) (((x) + (mask)) & ~(mask))
 #define PAGE_ALIGN(addr) ALIGN(addr, PAGE_SIZE)
-#define ARRAY_ELEMENT_CNT(x) (sizeof(x) / sizeof(x[0]))
 #define ROUNDUP(x, y)	((((x) + ((y) - 1)) / (y)) * (y))
 
 static inline u32 zg_csum_partial(const void *buf, int len, u32 sum)
--- a/zipl/include/zipl.h
+++ b/zipl/include/zipl.h
@@ -62,10 +62,6 @@ typedef uint64_t address_t;
  * resulting return code or 0. */
 #define	DRY_RUN_FUNC(x)	(dry_run ? 0 : (x))
 
-#define ALIGN(x,a)              __ALIGN_MASK(x,(typeof(x))(a)-1)
-#define __ALIGN_MASK(x,mask)    (((x)+(mask))&~(mask))
-#define ARRAY_SIZE(x)		(sizeof(x) / sizeof(x[0]))
-
 extern int verbose;
 extern int interactive;
 extern int dry_run;
openSUSE Build Service is sponsored by