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;